考虑以下类 i C++ 的构造函数。它给了我错误:
default argument for parameter of type ‘char’ has type ‘const char [2]’
请多多指教。如果我可以在 ""
处设置 correctAnswer
的默认构造函数(无),我会很高兴。
#include <string>
#include <iostream>
class Question{
int id;
std::string text;
char correctAnswer;
public:
Question(int id=0, const std::string& text="", char correctAnswer="a") : // here is the error
id(id),text(text),correctAnswer(correctAnswer) {
}
}
最佳答案
改成
Question(int id=0, const std::string& text="",char correctAnswer='a')
'a'
是单个字符。
双引号总是创建一个数组。
“Hello”是一个大小为 6 的数组。
“a”是一个大小为 2 的数组。
额外的 1 用于空终止符(0 或 '\0')
关于c++ - C++构造函数中char的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24107699/