与"运算符<<"C++不匹配

no match for 'operator<<' C++

本文关键字:lt 不匹配 C++ 运算符      更新时间:2023-10-16

我的程序无法运行,我收到一条错误消息:

`error: no match for 'operator<<' (operand types are 'std::string' {aka 'std::__cxx11::basic_string<char>'} and '<unresolved overloaded function type>')|`

cout << address, " ", street << endl;线上 我使用的是VS2017,但中途切换到CodeBlocks。 我有Windows 10 Pro Ryzen 5 2400G,1060 6gb 16gb

内存这是我的程序:

#include <iostream>
#include <string>
using namespace std;
int main()
{
string name, city, state, road, country, street;
int address;
cout << "Enter your: Namen";
cin >> name;
cout << "Enter your Streetn";
cin >> street;
cout << "Enter your: Addressn";
cin >> address;
cout << "Enter your:n Cityn";
cin >> city;
cout << "Enter your: Province/Staten";
cin >> state;
cout << "Enter your: Countryn";
cin >> country;
//Output
cout << name << endl;
cout << address, " ", street << endl;
cout << city, " ", province, " ", country;
}

提前感谢!

你的语法是错误的。你不能用,将参数链接到这样的cout。而是做:

cout << address << " " << street << endl;
cout << city << " " << province << " " << country;

最后两个语句在语法上不正确。它们应该如下 -

cout << address<<" "<<street << endl; 
cout << city<< " "<< province<<" "<< country;

你可能正在尝试在C++中使用类似python的东西。但显然这是行不通的。每次你只需要继续做cout<< variable1 << " " << variable2<< " ";.这就是链接在C++中的工作方式。没有简写

我希望这能解决您的问题!