考虑一下I类C++的以下构造函数。它给了我一个错误:
“char”类型参数的默认参数具有“const char 2”类型
请给我一些建议。如果我能够在correctAnswer at ""上设置默认构造函数(nothing),我会很高兴的。
#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) {
}
}发布于 2014-06-08 15:30:14
把它改成
Question(int id=0, const std::string& text="",char correctAnswer='a')'a'是一个单一的字符。
双引号总是创建数组。
"Hello“是一个大小为6的数组。
"a“是大小为2的数组。
额外的1用于空终止符(0或'\0')
发布于 2014-06-08 15:30:16
Question(int id=0, const std::string& text="",
char correctAnswer='a')
// ^^ Use single Quote for a char
id(id),text(text),correctAnswer(correctAnswer)
{
}https://stackoverflow.com/questions/24107699
复制相似问题