[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