2013-12-24 4 views
0

Привет, мир stackoverflow, в настоящее время у меня есть проблема, я работаю над школьным проектом для C++, чтобы сбросить файл с высокой оценкой, однако при компиляции компилятор всегда показывает эта ошибка:Ошибка C++, визуальная студия 2008, ERROR # C2679

ошибка C2679: бинарная «>>»: ни один оператор не найден, который принимает правый операнд типа «станд :: строка [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
string YN[100]; 

Здесь вы объявляя массив из 100 строк. Вероятно, это не то, что вы хотели. Попробуйте:

string YN; 

сообщение об ошибке вы получили имеет в виду линию

cin >> YN; 

где, если YN массив из 100 строк, оператор >> не имеет ни малейшего представления, что вы хотите сделать. Однако >> знает, как читать строка.

+0

ах, спасибо, вот и все, цифры, что это так просто, хотя –

Смежные вопросы