如下面的代码所示,我无法传递此参数,该如何解决?
E0167“ const char *”类型参数与“ char *”类型参数不兼容
代码示例:
#include <iostream>
using namespace std;
int PrintString(char* s)
{
cout << s << endl;
}
int main(int argc, char* argv[])
{
PrintString("TESTEEEE");
return 0;
}
我已经尝试过了 PrintString(L"TESTEEEE");
我还尝试将项目->属性->常规->字符集选项设置为使用多字节字符集。
此文字"TESTEEEE"
是类型的char const[9]
。当用作函数的参数时,它可以衰减为,char const*
但不能衰减为char*
。因此,要使用您的函数,必须使参数适合您的参数,或者相反,如下所示
#include <iostream>
using namespace std;
int PrintString(const char* s)
{
cout << s << endl;
}
int main(int argc, char* argv[])
{
PrintString("TESTEEEE");
return 0;
}
要么
#include <iostream>
using namespace std;
int PrintString( char* s)
{
cout << s << endl;
}
int main(int argc, char* argv[])
{
char myArr[] = "TESTEEEE";
PrintString(myArr);
return 0;
}