为什么'char'值必须有单引号而不是double?

SAc*_*der -4 c++ char

目标

最后,我想知道为什么C++不支持char letter = "C";但支持char letter = 'C';(注意引号不同).

我使用Repl.it作为代码平台.

#include <iostream>

int main()
{
    char letter = "C";
    std::cout << letter;
}
Run Code Online (Sandbox Code Playgroud)

错误信息

main.cpp:在函数'int main()'中:

main.cpp:5:19:错误:从'const char*'到'char'的无效转换[-fpermissive] char letter ="C";

小智 8

它们被需要的,因为'C'"C"表示完全不同的类型-首先是一个整数值,而第二个是两个字符(字母阵列'C'加隐式空-终止子).两者都很有用,你需要一些方法来说明你想要哪一个,这就是不同类型的引用.