Witam,
piszę bibliotekę dll z gniazdami. Mam metodę klasy która ma zwracać wskaźnik do innej klasy (ta inna klasa oczywiście jest tworzona w tej metodzie). Klasa w której jest metoda jest klasą zaprzyjaźnioną do "innej" klasy. Ale gdy chce skompilować to wywołuje błąd. Ale gdy nie używam pointera to jest ok. Albo gdy za pointera do klasy dam void * to działa. Oto kody. Proszę o pomoc...
Metoda:
CTCPSocket * accept(void) throw(CSocketException);
Definicja:
CTCPSocket * CTCPServerSocket::accept(void) throw(CSocketException) {
SOCKET newConnSD;
if( (newConnSD = ::accept(this->sockDesc,NULL,0)) < 0 ) {
throw CSocketException("Akceptowanie połączeń zawiodło (accept())",true);
}
return new CTCPSocket(newConnSD);
}
class CTCPSocket : public CComSocket {
public:
CTCPSocket(void) throw(CSocketException);
CTCPSocket(const std::string &foreignAddress, unsigned short foreginPort) throw(CSocketException);
private:
friend class CTCPServerSocket;
CTCPSocket(SOCKET newConnSD);
};
Output:
Output Window Compiling...
CComSocket.cpp
CSocket.cpp
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C2143: syntax error : missing ';' before '*'
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : warning C4183: 'accept': missing return type; assumed to be a member function returning 'int'
CSocketException.cpp
CTCPServerSocket.cpp
CTCPSocket.cpp
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C2143: syntax error : missing ';' before '*'
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : warning C4183: 'accept': missing return type; assumed to be a member function returning 'int'
CUDPSocket.cpp
Sockets.cpp
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C2143: syntax error : missing ';' before '*'
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\moje dokumenty\moje projekty\visual c++\podstawy informatyki\projekt zaliczeniowy\remote tutor\sockets\ctcpserversocket.h(48) : warning C4183: 'accept': missing return type; assumed to be a member function returning 'int'
Utils.cpp
Generating Code...
Dzięki.