Привет, мир stackoverflow, в настоящее время у меня есть проблема, я работаю над школьным проектом для c++, чтобы сбросить файл с высоким рейтингом, однако при компиляции компилятор всегда показывает эту ошибку:
ошибка C2679: двоичный '>>': оператор не найден, который принимает правый операнд типа 'std :: string [100]' (или нет приемлемого преобразования)
поэтому, после тонны googling, ничего не работает, поэтому я только что приехал сюда
здесь мой заголовок:
//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;
}
string YN[100];
Здесь вы объявляете массив из 100 строк. Возможно, это не то, что вы хотели. Пытаться:
string YN;
Сообщение об ошибке, которое вы получили, относится к строке
cin >> YN;
где, если YN
- массив из 100 строк, оператор >>
не знает, что вы хотите сделать. Однако, >>
знает, как читать одну строку.