απορία C++ ( για γερούς λύτες)

John Tsiombikas nuclear at member.fsf.org
Sun Jan 15 02:40:32 EET 2012


On Sat, Jan 14, 2012 at 10:02:07PM +0200, Θοδωρής Λύτρας wrote:
> ...ή τουλάχιστον σ'εμένα τον ερασιτέχνη έτσι φαίνεται, καθώς δε μπορώ να βρώ 
> μια απάντηση στο πρόβλημα. Μπαίνω κατευθείαν στο ψητό:
> 
> typedef std::vector<A::myEnum> Foo;
> 
> class A
> {
> public:
>     enum myEnum {Red, Green, Blue, White, Black};
>     A();
>     void myFunction(Foo arg);
> };
> 
> Ο τύπος myEnum θέλω να είναι δηλωμένος μέσα στην κλάση A (όχι global, όχι σε 
> namespace), ενώ ο typedef Foo προτιμώ να είναι global (στη χειρότερη μέσα στην 
> κλάση A). Το πρόβλημα είναι οτι μέσα στην κλάση A έχω τη συνάρτηση 
> myFunction() που δέχεται ως όρισμα ένα αντικείμενο Foo.

- Foo global: tha xreiastei na grapseis to prototype tis myFunction xoris
to typedef
- Foo mesa stin A: kanena provlima, apla balto meta to enum.


Alla... giati tosi kourasi? I moni xrisi tou onomatos tou enum stin C++
einai na sou prizei ta paparia o compiler, ara axristo. Allakse ton
kodika sou os eksis and enjoy carefree life in the wild[1]:

class A {
public:
    enum {Red, Green, Blue, White, Black};

    A();
    void myFunction(unsigned int arg);
};


[1] i akoma kalytera grapse C, C++ sucks ass.

-- 
John Tsiombikas
http://nuclear.mutantstargoat.com/


More information about the Linux-greek-users mailing list