我正在尝试使用 C++ 在 eclipse 中编写 Qt 程序,但我无法克服错误:
void MyTests::populateFirstList(){
Question* q = new Question;
q = this->ctr->getCurrent();
string s = this->ctr->toString(q);
}
Question 是我定义的类型,带有 toString(q) 的行返回一个错误,说明参数无效。toString() 函数:
string Controller::toString(Question* q){
string s="";
string text = q->getText();
char c;
string::iterator it;
for (it= text.begin(); it != text.end(); it++)
{
if ((*it) == ' ') {
s+="\n";
}
else {
s+=it;
}
}
return s;
}
为了安全起见,getCurrent() 函数:
Question* Controller::getCurrent(){
return this->question;
}
我不明白为什么会发生这种情况,因为函数 toString() 应该接受一个指向问题的指针,而 q 是一。我什至不确定错误是在这些函数中还是在更深的地方引起的。谢谢你的帮助。
错误信息是:
invalid arguments ' Candidates are:
std::basic_string < char,std::char_traits < char >, std::allocator < char > >
toString(Question *) '