απορία C++ ( για γερούς =?iso-8859-7?b?IOv99OXy?=)

Θοδωρής Λύτρας thlytras at gmail.com
Sun Jan 15 08:10:37 EET 2012


Στις Κυρ 15 Ιαν 2012, ο/η John Tsiombikas έγραψε:
> 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.

C is not an option for me.
Αν πρόσεξες όμως το typedef δεν είναι για το enum, αλλά για το 
std::vector<enum>.



-- 
"Beauty is transitory"
"Beauty survives"
        - Mr. Spock & Capt. Kirk, "That which survives", stardate unknown
by Theodore Lytras <thlytras at gmail.com>



More information about the Linux-greek-users mailing list