我有以下的类:
#include <iostream>
#include <string>
using namespace std;
class CLS
{
int value;
string str_value;
public:
CLS(int param) { value = param; }
CLS(string param)
{
str_value = param;
}
};
int main()
{
CLS a(2);
CLS b = 3;
CLS c("4");
CLS d = "5"; // Error: invalid conversion from 'const char*' to 'int'
}
我搜索了错误的原因,但没有成功。
使用字符串字面量构建是否正确? 如果不是,为什么? 如果是,我的代码有什么问题?
我正在使用gcc 5.3和Code::Blocks 16.1。
std::string
。 - Rookstring
是什么? - ArturFHstring
应该是std::string
。 - Kamal Zidanconst char*
添加一个构造函数。正如@Artur R. Czechowski所说,std::string
与字符串字面值不同。 - Gambit