[C++] przestrzenie nazw + wskaźniki + funkcje
Ostatnio zmodyfikowano 2012-11-16 21:36
soltaire33 Temat założony przez niniejszego użytkownika |
[C++] przestrzenie nazw + wskaźniki + funkcje » 2012-11-16 20:43:05 #include <iostream> using namespace std;
int dupa::wypiszTekst(); int( * wskF )();
int main() { wskF = & dupa::wypiszTekst; ( * wskF )(); int x; cin >> x; }
namespace dupa { int wypiszTekst() { cout << "Test" << endl; return 1; } }
jak moge uzyc tu przestrzeni nazw? bez przestrzeni działa, ale interesuje mnie to jak tu użyć przestrzeni we wskaźniku |
|
cyklopek11 |
» 2012-11-16 21:12:01 Ten powyższy kod kompiluje Ci się???
|
|
soltaire33 Temat założony przez niniejszego użytkownika |
» 2012-11-16 21:18:44 ------ Build started: Project: testxd, Configuration: Debug Win32 ------ Compiling... test.cpp c:\documents and settings\...\moje dokumenty\visual studio 2008\projects\testxd\testxd\test.cpp(4) : error C2653: 'dupa' : is not a class or namespace name c:\documents and settings\...\moje dokumenty\visual studio 2008\projects\testxd\testxd\test.cpp(9) : error C2653: 'dupa' : is not a class or namespace name Build log was saved at "file://c:\Documents and Settings\...\Moje dokumenty\Visual Studio 2008\Projects\testxd\testxd\Debug\BuildLog.htm" ....
nie jak widać, pisze ze dupa nie jest nazwą przestrzeni nazw ale jak sobie dam bez przestrzeni nazw to działa, nie jest mi ona do niczego potrzebna ale z ciekawości chciałbym wiedzieć. #include <iostream> using namespace std;
int wypiszTekst(); int( * wskF )();
int main() { wskF = & wypiszTekst; ( * wskF )(); int x; cin >> x; }
int wypiszTekst() { cout << "Test" << endl; return 1; }
to jak widać bez przestrzeni nazw działa/ kompiluje się |
|
soltaire33 Temat założony przez niniejszego użytkownika |
» 2012-11-16 21:28:48 rozwiązałem problem #include <iostream> using namespace std;
namespace dupa { int wypiszTekst() { cout << "Test" << endl; return 1; } }
int( * wskF )();
int main() { wskF = & dupa::wypiszTekst; ( * wskF )(); int x; cin >> x; }
dałem namespace na początek, ale czy mógłby mi ktoś wytłumaczyć czemu nie można dać gdzieś tego za funkcją main i zdeklarować na początku przed funkcją main? |
|
cyklopek11 |
» 2012-11-16 21:32:00 using namespace std;
namespace dpa { int wypiszTekst() { cout << "Test" << endl; return 1; } }
int dpa::wypiszTekst(); int( * wskF )();
int main() { wskF = & dpa::wypiszTekst; ( * wskF )(); cin.get(); return 0; }
Nie używaj takich "brzydkich" nazw bo Cię może spotkać ban. |
|
cyklopek11 |
» 2012-11-16 21:36:47 Deklaracje i definicje funkcji muszą być wewnątrz: |
|
« 1 » |