我有一个像这样的课:
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..."));