我有一个像这样的课:
- class Test{
- public:
- Test(string value);
- Test(bool value);
- };
如果我创建一个这样的对象:
- Test test("Just a test...");
有人知道为什么
谢谢
解决方法
“Just a test …”的类型是const char *,可以隐式转换为bool或std :: string.因为std :: string不是内置的类型,所以const char *被转换为一个bool.您可以通过将const char *显式转换为std :: string来防止这种情况:
- Test test(std::string("Just a test..."));