1. 程式人生 > 其它 >沒有找到接受“std::string”型別的右運算元的運算子(或沒有可接受的轉換)”的處理

沒有找到接受“std::string”型別的右運算元的運算子(或沒有可接受的轉換)”的處理

技術標籤: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