000
12.09.2006, 12:28 Uhr
Yadgar
|
High!
Noch ein Problem: in
C++: |
// FixedArray: Testprogramm // (fa.cpp)
#include <iostream> using namespace std;
#include "fixedarray.h" #include "more.h"
//----------------------------------------------------------------------------------- // isEqual (global) // bool isEqual(const FixedArray& lhs, const FixedArray& rhs) { if (lhs.mDim != rhs.mDim) return false; // Felder ungleicher Dimension sind nie gleich for (int i=0; i<lhs.mDim; i++) if (lhs.mWert[i] != rhs.mWert[i]) return false; return true; }
//------------------------------------------------------------------------------------ // Operator == (global) // bool operator == (const FixedArray& lhs, const FixedArray rhs) { return isEqual(lhs, rhs); }
//------------------------------------------------------------------------------------ // Operator != (global) // bool operator != (const FixedArray& lhs, const FixedArray rhs) { return !isEqual(lhs, rhs); }
int main() { FixedArray::setLimit(100000000);
FixedArray f1[10]; FixedArray f2[12];
// int i=5; // cout << "Element Nr. 5: " << f1[i] << endl; // cout << "Element Nr. 6: " << f1[6] << endl; [b]if (isEqual(f1, f2)) cout << "Gleich!" << endl;[/b] else cout << "Ungleich!" << endl;
}
|
bekomme ich für die fett angezeigte Zeile die Fehlermeldung
invalid initialization of reference of type 'const FixedArray&' from expression of type 'FixedArray*'
...wieso? Und warum ist in der Fehlermelung von einem Zeigertyp die Rede?
Bis bald im Khyberspace!
Yadgar -- Flagmaker - ein Programmier-Blog |