Wskaźniki do metod i składników
Ostatnio zmodyfikowano 2016-12-14 00:37
Lich555 Temat założony przez niniejszego użytkownika |
Wskaźniki do metod i składników » 2016-12-13 23:42:06 Witam. Mam 3 klasy w 3 różnych projektach: 1.Wskaźnik do metody. Błąd: undefined reference to 'concorde::tankowanie(float)' ... class concorde { public: int ster, podwozie; int tankowanie( float ), start( float ), zaladunek( float ); };
int main() { int( concorde::* wskfun )( float ); wskfun = & concorde::tankowanie; concorde bialy; ( bialy.* wskfun )( 900.33 ); return 0; }
2.Tablica wskaźników do metod. Błąd: undefined reference to 'K::tankowanie(float)', Błąd: undefined reference to 'K::zaladunek(float)' ... class K { public: int tankowanie( float ), zaladunek( float ); };
int main() { int( K::* tabwskfun[ 8 ] )( float ); tabwskfun[ 0 ] = K::tankowanie; tabwskfun[ 1 ] = K::zaladunek; K egzemplarz; ( egzemplarz.* tabwskfun[ 0 ] )( 7.43 ); return 0; }
3.Wskaźniki do składników statycznych. Błąd: undefined reference to 'K::biurko' ... class K { public: static int biurko; };
int main() { int * wsk = & K::biurko; return 0; }
Czemu wyskakują mi takie błędy? |
|
mateczek |
» 2016-12-14 00:05:55 brak metod zdefiniowanych, tylko podeklarowane #include <iostream> class concorde { public: float tankowanie( float a ) { return a; } };
int main() { float( concorde::* wskfun )( float ); wskfun = & concorde::tankowanie; concorde bialy; std::cout <<( bialy.* wskfun )( 900.33 ); return 0; }
albo tak #include <iostream> class concorde { public: float tankowanie( float ); }; float concorde::tankowanie( float a ) { return a; }
int main() { float( concorde::* wskfun )( float ); wskfun = & concorde::tankowanie; concorde bialy; std::cout <<( bialy.* wskfun )( 900.33 ); return 0; }
|
|
mokrowski |
» 2016-12-14 00:37:20 class K { public: int tankowanie( float ), zaladunek( float ); };
int K::tankowanie( float ) { return 42; }
int K::zaladunek( float ) { return 42; }
int main() { int( K::* tabwskfun[ 8 ] )( float ); tabwskfun[ 0 ] = & K::tankowanie; tabwskfun[ 1 ] = & K::zaladunek; K egzemplarz; ( egzemplarz.* tabwskfun[ 0 ] )( 7.43 ); return 0; }
class K { public: static int biurko; };
int K::biurko = 42;
int main() { int * wsk = & K::biurko; return 0; }
|
|
« 1 » |