[OT] C++ - Przekazywanie obiektów przez referencje (VC++ vs GCC)

Radosław Kintzi radek w rakin.eu.org
Śro, 8 Cze 2005, 11:53:07 CEST


Przenoszę kod VC++ na Linuksa i mam taką zagwózdkę:

try.cpp:
--- cut here ---
class CElem {
        public:
                int i;
};

class CArray {
        CElem array[10];
        int n;
        public:
                CArray(){
                        n=0;
                }
                void add (CElem &a){
                        array[n]=a;
                }
};

main() {
        CArray a;
        CElem e=CElem();
        a.add(e);           // tu działa
        a.add(CElem());     // a tu nie działa
}
--- cut here ---

$ gcc try.cpp
try.cpp: In function `int main()':
try.cpp:22: error: no matching function for call to `CArray::add(CElem)'
try.cpp:13: error: candidates are: void CArray::add(CElem&)


W VC++ działało bez problemu. Czy szanowni grupowicze mogą powiedzieć
skąd ta różnica i jak jej zaradzić? Muszę wszędzie zmieniać kod?

-- 
Pozdrawiam serdecznie
Radosław Kintzi



Więcej informacji o liście dyskusyjnej pld-users-pl