我在创建以下类型的对象时遇到问题:
struct wordType
{
string word = "";
int count = 0;
};
wordType object("hello world");
我得到的错误是:
[Error] no matching function for call to 'wordType::wordType(std::string&)
最佳答案
您正在尝试使用 wordType
没有的构造函数构造 wordType
对象。您可以将该构造函数添加到您的代码中:
struct wordType
{
string word = "";
int count = 0;
wordType() = default;
wordType(const wordType&) = default;
wordType(const string &aword) : word(aword) {} // <-- here
};
wordType object("hello world");
或者,您可以使用没有任何构造函数参数的局部变量,然后再填充它:
struct wordType
{
string word = "";
int count = 0;
};
wordType object;
object.word = "hello world";
关于c++ - 为什么我不能用这个构造函数参数构造这个用户定义类型的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39580189/