C ++ Error,visual studio 2008,ERROR#C2679

时间:2013-12-24 00:22:39

标签: c++

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;

}

1 个答案:

答案 0 :(得分:1)

string YN[100];

在这里,您要声明一个包含100个字符串的数组。这可能不是你想要的。尝试:

string YN;

您收到的错误消息是指

cin >> YN;

其中,如果YN是一个包含100个字符串的数组,则>>运算符不知道您要执行的操作。但是,>>知道如何阅读一个字符串。