определение функции не допускается до маркера '{'

Я новичок в кодировании, и у меня есть проблема с этим кодом, он не работает, и после его компиляции я получаю "определение функции не допускается до маркера' {'"это, вероятно, просто глупая проблема, но я ничего не могу с этим поделать

#include <fstream>
using namespace std;
bool spr_poprawne(float a1,float b1, float a2, float b2);
int w_g(float a1,float b1, float a2, float b2);
int w_x(float b1,float b2, float c1, float c2);
int w_y(float a1,float a2, float c1, float c2);
int main(){
    float a1, a2, b1, b2, c1, c2, w, wx, wy, x, y;
    char nazwa[100];
    cout << "Podaj nazwe pliku ";
    cin >> nazwa;
    //utworzenie obiektu klasy ifstream
    ifstream plik_liczby(nazwa);
    if (!plik_liczby){
        cout << "Pliku nie mozna otworzyc " << endl;
    }
    while(!plik_liczby.eof()){
        plik_liczby>>a1, a2, b1, b2, c1, c2, w, wx, wy, x, y;
    cout << "To sa wspolczynniki a1, b1, a2, b2\n";
    cout << a1 << b1 << a2 << b2;
    if(spr_poprawne(a1,b1,a2,b2)){
        cout << "To sa wspolczynniki c1 i c2\n";
        cout << c1 << c2; 
        
        w = w_g(a1,b1,a2,b2);
        wx = w_x(b1,b2,c1,c2);
        wy = w_y(a1,a2,c1,c2);
        
        if(w != 0){
            x = wx/w;
            y = wy/w;
            cout << "x=" << x << "\n";
            cout << "y=" << y << "\n";
        }
        
        if((w==0) && (wx==0) && (wy==0))
            cout << "Uklad ma nieskonczonosc rozwiazan";
        if((w==0) && ((wx!=0) || (wy!=0)))
            cout << "Uklad nie ma rozwiazania";
    }
    
    else
            cout << "Wspolczynniki a1,a2,b1,b2 nie moga rownac sie 0";
        return 0;
    }
    {

    bool spr_poprawne(float a1, float b1, float a2,float b2){
    
        if((a1!=0)||(b1!=0)||(a2!=0)||(b2!=0))
                return true;
            else 
                return false;           
    }
    
    int w_g(float a1,float b1,float a2,float b2){
        return a1*b2-b1*a2; 
    }
    
    int w_x(float b1,float b2, float c1, float c2){
        return c1*b2-b1*c2;
    }
    
    int w_y(float a1,float a2, float c1, float c2){
        return a1*c2-c1*a2; 
    }
}
return 0;
}

, 👍1

Обсуждение

Я считаю, что это не вопрос Arduino. Не могли бы вы, пожалуйста, опубликовать это на другом форуме, таком как StackExchange. Это было бы полезно., @Maaz Sk

Там есть спуриос " {после main() { ... }`., @StarCat

Это общий (не специфичный для Arduino) вопрос о кодировании и не относится к Arduino SE., @StarCat

@MaazSk, вопросы об ошибках синтаксиса тоже не по теме переполнения стека, @Juraj