沒有找到接受“std::string”型別的右運算元的運算子(或沒有可接受的轉換)”的處理
阿新 • • 發佈:2021-02-16
技術標籤:C++
#include<iostream>
using namespace std;
class Phone {
public:
Phone(string pname) {
m_pname = pname;
}
string m_pname;
};
class Person {
public:
Person(string name, string pname):m_name(name),m_phone(pname) {
}
string m_name;
Phone m_phone;
};
void test01() {
Person p("張三" ,"蘋果");
cout <<p.m_name<< "拿著 "<< endl;
}
int main() {
test01();
return 0;
}
然後就報錯,原因很簡單,我定義了string的變數但沒有加string的標頭檔案。
其原因在於iostream標頭檔案中並沒有過載與string型別相關的輸入輸出操作符,而該操作符的過載是在string標頭檔案中實現的。
所以,在VS中使用string型別時,最好還是新增string標頭檔案。
#include