Zeiger zeigt angeblich nicht auf eine Klasse



  • Guten Morgen,

    ich arbeite an einem Server/Client Programm unter MFC, ich habe folgendes Problem ich kriege von meinem Compiler folgende Fehlermeldung:
    **
    C:\Dokumente und Einstellungen\Dors\Desktop\C++\Client\mfc common\ssmcSocket.cpp(858) : error C2227: Der linke Teil von '->connectToServer' muss auf Klasse/Struktur/Union zeigen**

    Ich würde diese Fehlermeldung ja verstehen, wenn mir der Compiler dann nicht noch den Fehler im Code zeigen würde

    [cpp]
    if ([b]m_pClient[/b]->connectToServer(serverIPAddress, ADDRESS))[/cpp]
    
    Diese Fehlermeldung bezieht sich auf den Zeiger m_pClient der wie Ihr hier seht:
    
    [cpp]class CClientDlg : public CDialog
    {
    // Konstruktion
    public:
    	CClientDlg(CWnd* pParent = NULL);	// Standard-Konstruktor
    
    // Dialogfelddaten
    	//{{AFX_DATA(CClientDlg)
    	enum { IDD = IDD_CLIENT_DIALOG };
    		// HINWEIS: der Klassenassistent fügt an dieser Stelle Datenelemente (Members) ein
    	//}}AFX_DATA
    
    	// Vom Klassenassistenten generierte Überladungen virtueller Funktionen
    	//{{AFX_VIRTUAL(CClientDlg)
    	protected:
    	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV-Unterstützung
    	//}}AFX_VIRTUAL
    
    // Implementierung
    protected:
    	HICON m_hIcon;
    	[b]ssmcTcpSocket *	m_pClient;[/b]
    	CString			m_strServerName;
    	DWORD			m_dwServerIP;
    	CString			m_strThreadId;
    	HANDLE			m_hWriteMutex;
    
    	void LoginUser();
    	int				ReceiveMessageFromServer(CString& strMessage);
    	CString			ReadServerConfig();
    	int				SendMessages(LPCTSTR lpszMessage, int nRepeat);
    	int				SendMessageToServer(LPCTSTR lpszMessage);
    	BOOL			StartClient();
    
    	// Generierte Message-Map-Funktionen
    	//{{AFX_MSG(CClientDlg)
    	virtual BOOL OnInitDialog();
    	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    	afx_msg void OnPaint();
    	afx_msg HCURSOR OnQueryDragIcon();
    	afx_msg void OnbtnVermietung();
    	afx_msg void OnbtnLeasing();
    	afx_msg void OnbtnReturn();
    	//}}AFX_MSG
    	DECLARE_MESSAGE_MAP()
    };[/cpp]
    

    aber auf eine Klasse zeigt 😕. Jetzt denkt Ihr sicherlich der hat bestimmt nur ne include vergessen, aber das habe ich nich, ich habe auch nochmals geprüft ob ich den Befehl in der richtigen cpp ausführe und das habe ich auch richtig gemacht.

    Ich kann mir nur noch einen Fehler vorstellen aber ich weiss net wieso das nicht gehen sollte und zwar ist die ssmcTcpSocket.h abgeleitet von einer anderen Class ssmcSocket.h diese beiden Klassen habe ich in einer Headerdatei. Zuerst die ssmcSocket.h dann die ssmcTcp Socket.h. Kann ich da irgendeinen Fehler gemacht haben 😕 Ich kann es mir nicht vorstellen. Wenn Ihr den Code dazu sehen wollt sagt nur bescheid.

    MFG Silver



  • Ok nachdem ich einen Kollegen befragt habe und der sich das mit mir angeguckt hat, haben wir festgestellt das ich eine doppelte winsock.h definition gemacht habe


Anmelden zum Antworten