我试图确定导致此编译器错误的原因是“没有匹配的函数调用到address::set_street();。任何建议将不胜感激-谢谢
#include <iostream>
#include <string>
using namespace std;
class address {
public:
address();
void set_street(string street) {
streetname = street;
};
string get_street() {
return streetname;
};
void set_parish(string parish) {
parishname = parish;
}
string get_parish() {
return parishname;
}
void set_country(string country) {
countryname = country;
}
string get_country() {
return countryname;
}
private:
string streetname;
string parishname;
string countryname;
};
int main(int argc, char* argv[]) {
system("color 0c");
address enteredaddress;
cout<<"Enter street name" <<endl <<endl;
cin >>enteredAddress.set_street();
cout<< endl;
system ("pause");
return 0;
}
最佳答案
这不是I / O在C++中的工作方式:您无法从流中读取并将结果传递给这样的setter。您需要先将街道读取为变量,然后将该var传递给set_street:
string tmpStr;
cin >> tmpStr;
enteredAddress.set_street(tmpStr);
关于c++ - C++编译器错误- 'No matching function for call…',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12504692/