C++隐式转换字符串到字符

C++隐式转换字符串到字符,c++,C++,我得到了以下代码 文件c_header.h 此代码包含在cpp文件中 文件cpp_File.cpp 这里的问题是,默认情况下,参数被视为字符串。由于函数只接受一个char*,编译器会警告我隐式converion string=>char 如何告诉编译器将参数视为char*。我试过了 Do_Some_String_Operation(static_cast<char*>("my_nice_string")); 但这并没有使警告消失 您的代码格式良好,编译时没有错误 作为补充说明,您可

我得到了以下代码

文件c_header.h

此代码包含在cpp文件中

文件cpp_File.cpp

这里的问题是,默认情况下,参数被视为字符串。由于函数只接受一个char*,编译器会警告我隐式converion string=>char

如何告诉编译器将参数视为char*。我试过了

Do_Some_String_Operation(static_cast<char*>("my_nice_string"));

但这并没有使警告消失

您的代码格式良好,编译时没有错误

作为补充说明,您可能希望删除函数声明中的顶级常量:


顶层常量是函数的实现细节,不应该泄漏到它的接口中。您可以在函数定义中添加该常量。

请。该函数接受常量char*。您显示的代码段中没有任何无效内容。第二个常量使指针本身成为常量,有点像funconst int,但在本例中,常量应用于指针。功能正常。不需要强制转换。请显示编译器中的错误信息。ExcAct错误消息是:ISO C++禁止将字符串转换为字符。
#include "c_header.h"
void main()
{
    Do_Some_String_Operation("my_nice_string");
}
Do_Some_String_Operation(static_cast<char*>("my_nice_string"));
void Do_Some_String_Operation(const char* pString);