【发布时间】:2021-06-28 03:05:56
【问题描述】:
我是 StackOverflow 的新手,并且是一般的编码新手。每当我尝试运行我的程序时都会收到此错误:
[错误] 'operator==' 不匹配(操作数类型为 'std::basic_istream
' 和 'char')
这是因为我创建了一个函数来检查文件名(由他们之前输入的全名和学生 ID 组成)是否正确并且与他们正在制作的文件名相同。所以基本上:
Name: Lucius
Student ID: 12345678910
在文件名部分,他们输入:
File name: Lucius - 12345678910
它会检查它是否相同。
这是函数:
void filenamechecking(char studentname, char separatorchecking, int idnumber);
void filenamechecking (char studentname, char separatorchecking, int idnumber){
const char dashchecking = '-' ;
char filename;
int filestudentid;
if (cin >> filename == studentname &&
cin >> separatorchecking && separatorchecking == dashchecking &&
cin >> filestudentid == idnumber)
{
cout << "\n You have entered the appropriate file name" << endl;
}
else cout << "\n INVALID FILE NAME" << endl;
}
这是我调用它的地方:
cout << "File Name (Student Name - Student Number): ";
filenamechecking (fullname, separatorinput, studentid);
cout << "\n";
cin.sync();
【问题讨论】:
-
错误:
char filename ... cin >> filename == studentname。更好:std:string filename... -
您对以下建议的答案有任何疑问或问题吗?
标签: c++