странные ошибки при компиляции с++

261
17 апреля 2018, 04:16
#include "stdafx.h"
#include <iostream>
#include <fstream> 
#include <string>
void register_1();
void read(std::string login, std::string password);
void login();
struct Users {
    std::string login;
    std::string password;
}users[100];
int main() {
    setlocale(LC_ALL, "RUS");
    std::cout << "1. Пройти регистрацию \n";
    std::cout << "2. Выполнить вход в систему \n";
    int a;
    std::cin >> a;
    switch (a) {
    case 1: register_1();
    case 2: login();
    }
    return 0;
}
void register_1() {
    std::string login, password;
    std::cout << "Введите логин:" << std::endl;
    std::cin >> login;
    std::cout << "Введите пароль:" << std::endl;
    std::cin >> password;
    std::ofstream fout("users.txt", std::ios::app);
    fout << login << " " << password << std::endl;
    std::cout << "Регистрация прошла успешно!" << std::endl;
    main();
}
void read(std::string login, std::string password) {
    std::ifstream fin("users.txt");
    for (int i = 0; i<100; i++) {
        fin >> users[i].login >> users[i].password;
    }
}
void login() {
    std::string login, password;
    std::cout << "Введите логин:" << std::endl;
    std::cin >> login;
    std::cout << "Введите пароль:" << std::endl;
    std::cin >> password;
    read(login, password);
    bool flag = true;
    for (int i = 0; i < 100; i++) {
        if (login == users[i].login && password == users[i].password) {
            std::cout << "Вы успешно вошли!" << std::endl;
            flag = false;
            break;
        }
    }
    if (flag == true) {
        std::cout << "Пароль либо логин введены неверно!" << std::endl;
    }
    system("pause");
    main();
}

при компиляции выдаёт такие ошибки:
Ошибка (активно) E0077 это объявление не содержит класс хранения или спецификатор типа ConsoleApplication1 f:\cours1\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp 66
и Ошибка C1004 непредвиденное обнаружение конца файла ConsoleApplication1 f:\cours1\consoleapplication1\consoleapplication1\consoleapplication1.cpp 67

не могу понять от куда эти ошибки, 66 строка выглядит так - } (самая последняя закрывающая скобка), а 67 вообще отсутствует, даже пробела там нет.

Answer 1

У вас после последней скобки, похоже, затесался указатель кодировки UTF-8 - EF BB BF. Только и всего. Проверьте сами - он даже у вас здесь, в вашем коде наличествует...

Но мне ужасно интересно другое - что за вызов main() в login() - что бы это значило?

READ ALSO
Как искать критические секции в сложном и запутанном проекте?

Как искать критические секции в сложном и запутанном проекте?

Пишу многопоточное высоконагруженное клиент-серверное приложение на С++В приложении чётко определены четыре основных потока и так-же во время...

212
Проблема с чтением бинарных данных

Проблема с чтением бинарных данных

Всем приветВозникла проблема при чтении бинарных данных( *

175
Не работает обработчик ошибки 404 в node.js

Не работает обработчик ошибки 404 в node.js

Привет!Я учу nodejs и попутно создаю свой API сервер с MongoAtlas

173
Помощь в настройке роутинга на Ангулар2

Помощь в настройке роутинга на Ангулар2

Господа, добрый день! Нужна помощь в настройке роутинга на втором ангуляреВидимо я его неправильно понимаю, потому как он работает несколько...

189