Получение ошибки: неверное преобразование из 'int' в 'std :: ios_base :: openmode' - PullRequest
0 голосов
/ 14 апреля 2019

Я не могу понять, почему это не позволяет мне правильно сохранять данные в NetBeans. Он отлично работает в визуальных студиях.

void scores(int x, Player users[])
{
    // Declarations
    fstream inScores;
    string line;
    string userName;
    int score;
    bool found = false;

    userName = users[x].userName;
    score = users[x].score;
        ```
    inScores.open("Scores.dat", ios::in | ios::out | ios::beg); 
        ``` 
    while (getline(inScores, line) && !found) {
        if (line.compare(userName) == 0) { //match strings exactly!
            found = true; // found is true => break loop
            inScores << score;
        }
    }
    inScores.close();
}

Я ожидаю, что программа будет компилироваться так же, как и в визуальных студиях, однако я понятия не имею, почему тот же самый точный код не компилируется в NetBeans.

1 Ответ

1 голос
/ 15 апреля 2019

В этой строке:

inScores.open("Scores.dat", ios::in | ios::out | ios::beg); 

ios::beg не является допустимым флагом для передачи в fstream :: open

См. эту страницу для правильных флагов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...