对不起,如果我的英语听不清,我是俄罗斯学生。
我有一个带有函数声明的类的代码:
Account.h
class Account {
public:
Account();
virtual ~Account() = 0;
void tedt(const std::string &);
Account(std::string);
}
Account.cpp:
#include "Account.h"
void Account::tedt(const std::string& a) <===== error here
{
return;
}
Account::Account()
{
Account(""); <==== some other error is here...
}
Account::Account(std::string input) <===== and here!!!
{
SetLogin(input);
SetProxy("");
}
我看到此消息:
error: out-of-line definition of 'tedt' does not match any declaration in 'Account'
结束
error: out-of-line definition of 'Account' does not match any declaration in 'Account' (about Account::Account(std::string input))
我不知道该怎么办。如果重要,我正在使用qt Creator进行编码
答案 0 :(得分:2)
如前所述,您需要在类定义的右括号后加上分号。
还请注意,不带参数的构造函数将无法按预期工作。而是使用参数创建一个新的临时对象。这不会更改您的当前对象。更好地使用:
Account::Account() : Account("") {}
,可以正常工作。