Deklaracja klasy - dziwny problem

0

Przykladowo: chce zadeklarowac klase:

 
#include <windows.h>
#define ID_PRZYCISK1 501


    class Skolor
{
        int R;
        int G;
        int B;

};

ale kompilator wyrzuca mi bledy:
error: expected '=', ',', ';', 'asm' or 'attribute' before 'Skolor'|

ALE gdy zmienie class na struct:

    struct Skolor
{
        int R;
        int G;
        int B;

};
 

Program kompiluje sie bez problemu.

0

Jakiego kompilatora używasz? Mi się kompiluje bez błędów pod VS2010 Express.

0

z tego co tu wrzuciłeś wiele nie idzie wywnioskować. Jedynie można pokusić się o poradę abyś spróbował utworzyć tak klasę :

class Skolor
{
    public:
        int R;
        int G;
        int B;
 
};

Jeśli zadziała i się skompiluje to znaczy, że problem leży gdzieś dalej w projekcie.

0

Domyślnie jest private i nie trzeba tutaj public, ale może Twój kompilator uważa inaczej. Jakiego używasz?

0

Używam Code Blocks+GNU GCC

 
#include <windows.h>

class Skolor
{
    public:
        int R;
        int G;
        int B;

};

Rowniez nie dziala. Dalsza czesc programu raczej nie ma wplywu. Podejrzewam bledne ustawienia kompilatora/srodowiska. Jakies pomysly ?

0

czy na pewno pomiędzy:
#define ID_PRZYCISK1 501
a:
class Skolor
nie masz nic w swoim projekcie?

0

Tak, na 100 % nic tam nie ma.

0

A w którym wierszu wywala ten błąd, czy na pewno przy tej deklaracji?
Czy plik ma rozszerzenie c czy cpp?
Czy na pewno kompilujesz kompilatorem C++, bo C nie wie nić o class?

1 użytkowników online, w tym zalogowanych: 0, gości: 1