我正在上c++初学者的远程课程,无法解决这个编译错误。它与示例书中的写法完全一样,当我哥哥将它剪切并粘贴到他的VS2015中时,它工作得很好,但在我的VS2017中却没有,我已经卸载和重新安装了VS2017社区,但没有用。
我只编码了两个星期,所以我对此非常非常陌生。
我得到的错误代码是:
"const char“类型的E0167参数与"char”类型的参数不兼容。
错误C2664 'void ( char )':无法将参数1从“const 8”转换为“char”
守则:
// FUNCTION: Hello, prints out a welcome message on the screen.
void Hello(char* name)
{
cout << "Hello " << name << "!";
}
// FUNCTION: Main, program start.
int main()
{
Hello("Krister");
cin.get();
return 0;
}我真的希望有人能帮我这个忙。
万事如意,杰普
发布于 2018-02-26 11:59:50
字符串文本可以由const char*引用。
它可能不会被char*引用;这在C的旧版本中是可能的,一些旧的C++编译器允许使用它并发出警告。在现代,这是完全禁止的。
通过将"Krister"传递给接受char*的函数,您将请求编译器尝试将其中一个转换为另一个;由于上述规则,它失败了,错误消息就是证明。
在那里查克一个const是为了取得巨大的成功。
如果那代码来自教科书,那就把它丢了。这是一张C++好书的清单。
https://stackoverflow.com/questions/48987994
复制相似问题