Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Odnoszenie sie do typu enum będącego w strukturze z klasy

Ostatnio zmodyfikowano 2012-10-29 14:20
Autor Wiadomość
diego997
Temat założony przez niniejszego użytkownika
Odnoszenie sie do typu enum będącego w strukturze z klasy
» 2012-10-29 14:08:07
Chcę zrobić coś takiego

C/C++
class A
{
public:
    enum Type { jeden = 1, dwa, trzy, cztery };
    int liczba;
    void set( Type typ )
    {
        liczba = typ;
    }
   
};

Tylko, że w taki sposób:

C/C++
struct Struktura
{
    enum Type { jeden = 1, dwa, trzy, cztery };
};

class A
{
public:
    int liczba;
    void set( Struktura.Type Typ )
    {
        liczba = Typ;
    }
   
};

Po prostu chce zeby to fajnie wygladalo napisze sobie:
C/C++
A objA;
A.set( Struktura::Type::jeden ); //cos w tym stylu

Pomozecie ;p?
P-67912
akwes
» 2012-10-29 14:13:31
Spróbuj zamiast

C/C++
A.set( Struktura::Type::jeden );

To

C/C++
A.set( Struktura::jeden );
P-67913
diego997
Temat założony przez niniejszego użytkownika
» 2012-10-29 14:16:47
wyskakuja bledy nawet bez tego co napsiales


1>c:\users\marian\documents\visual studio 2010\projects\wewillsee\wewillsee\main.cpp(16): error C2143: syntax error : missing ')' before '.'
1>c:\users\marian\documents\visual studio 2010\projects\wewillsee\wewillsee\main.cpp(16): error C3484: syntax error: expected '->' before the return type
1>c:\users\marian\documents\visual studio 2010\projects\wewillsee\wewillsee\main.cpp(16): error C2061: syntax error : identifier 'Type'
1>c:\users\marian\documents\visual studio 2010\projects\wewillsee\wewillsee\main.cpp(17): error C2334: unexpected token(s) preceding '{'; skipping apparent function body



akwes dziala zamiast :: w
C/C++
void set( Struktura::Type Typ )
 mialem kropke
C/C++
void set( Struktura.Type Typ )
P-67914
akwes
» 2012-10-29 14:20:03
C/C++
struct Align
{
    enum Type
    {
        al_center,
        al_right,
        al_left
    };
};


int main()
{
    Align::Type enVar = Align::al_center;
    return 0;
}


http://ideone.com/62Zmjj

// Edit

Dodam jeszcze, że zapis
C/C++
Align::Type::al_center;
Będzie niepoprawny

26 29 D:\main.cpp [Error] 'Align::Type' is not a class or namespace

Oczywiście Visual Studio to puszcza, ale powinno rzucać odpowiedni warrning dla Twojego
C/C++
A.set( Struktura::Type::jeden );
P-67915
« 1 »
  Strona 1 z 1