温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c++ - how to pass a parameter to char*?
c++ string

c++ - 如何将参数传递给char *?

发布于 2020-12-02 15:34:03

如下面的代码所示,我无法传递此参数,该如何解决?

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");

我还尝试将项目->属性->常规->字符集选项设置为使用多字节字符集。

错误图片

查看更多

提问者
FoioLag
被浏览
0
193k 2020-06-19 05:42

此文字"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;
}

生活