Hellooverflow的世界,目前,我有一个问题,我正在为c ++的学校项目工作,重置高分文件,但是,编译时,编译器总是显示此错误:
错误C2679:二进制'>>' :没有找到哪个运算符采用'std :: string [100]'类型的右手操作数(或者没有可接受的转换)
所以,经过大量的谷歌搜索,没有任何作用,所以我来到这里
这是我的标题:
//Include Libraries
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <istream>
#include <string.h>
//use namespace std
using namespace std;
我清楚地包括字符串,iostream,fstream以及我需要包含的任何其他内容
这是我的代码:
void reset ()
{
//Declare Local Variables
int High_Score[5];
bool defualt;
char User_Reset = false;
string YN[100];
string High_Score_Name[5];
int Rank;
//Initialize a high score at 0
High_Score[4] = 0;
// Input the high scores from a file
ifstream Input_High_Scores;
Input_High_Scores.open ("High_Scores.txt");
for (int i = 0; i < 5; i++)
{
Input_High_Scores >> High_Score[i];
Input_High_Scores >> High_Score_Name[i];
}
Input_High_Scores.close ();
//Welcome and ask the user if he wants to see high scores before resseting
cout << "Welcome to the High Score Reset Software" << endl;
cout << "Would you like to see your high scores before resettings? (0 for no, 1 for yes)" << endl;
cin >> YN;
}
答案 0 :(得分:1)
string YN[100];
在这里,您要声明一个包含100个字符串的数组。这可能不是你想要的。尝试:
string YN;
您收到的错误消息是指
行cin >> YN;
其中,如果YN
是一个包含100个字符串的数组,则>>
运算符不知道您要执行的操作。但是,>>
知道如何阅读一个字符串。