2012-04-22 88 views
0

我已經在這一段時間了。我需要一個基本的IRC Ping Pong函數來在IRC服務器ping時返回正確的響應。我將get()函數的名稱更改爲其他名稱,但仍然出現錯誤。我想也許函數名稱get()已經定義在其中的一個包含或其他東西。Visual c + + - get() - 重新定義不同類型的修飾符c2373

#include "stdafx.h" 
#include "Ping_Pong.h" 
#include <iostream> 
#include <ws2tcpip.h> 

#ifdef _DEBUG 
#define new DEBUG_NEW 
#endif 

CWinApp theApp; 

#define MT4_EXPFUNC __declspec(dllexport) 
#pragma comment(lib, "Ws2_32.lib") 

class MT4_EXPFUNC IRC { 

private: 
    char buf[513]; 
    char rbuf[513]; 
    char sbuf[513]; 
    char *tok; 
    int recv_bytes; 
    int irc_socket; 
    struct addrinfo hints; 
    struct addrinfo *results; 
public: 
    char *nick, *user, *host, *chan, *type, *mesg; 
    int irc_connect(const char *host, const char *port, const char *nick); 
    void socket_err(const char* err_string); 
    //int join(const char *channel); 

這是函數的問題

int __stdcall get(); 

    char *check(const char* test_str); 
    char *pop_arg(char **save_ptr); 
    int init_comarg(); 
    int say(const char *channel, const char *message); 
    int sayf(const char *channel, const char *message, ...); 
    int mode(const char *channel, const char *mode, char *target); 
    //void die(); 

}; 

名字這是我有一個問題的功能。

MT4_EXPFUNC int __stdcall IRC::get() 
    { 


    memset(rbuf, 0, 513); 
    recv_bytes = recv(irc_socket, rbuf, sizeof(rbuf), 0); 
    if (recv_bytes <= 0) { 
     return -1; 
    } 
    std::cout << rbuf; 
    // Auto-Respond to PING messages. 
    if (rbuf[0] == 'P' && rbuf[1] == 'I') { 
     tok = strtok(rbuf, "PING :"); 
     sprintf(buf, "PONG %s", tok-1); 
     send(irc_socket, buf, strlen(buf), 0); 
     std::cout << buf; 
     memset(buf, 0, 513); 
    } 
    if (strstr(rbuf, "PRIVMSG")) { 
     memcpy(sbuf, rbuf, 513); 
     nick = strtok(sbuf, "!") + 1; 
     user = strtok(NULL, "@"); 
     host = strtok(NULL, " "); 
     type = strtok(NULL, " ") - 1; 
     chan = strtok(NULL, " "); 
     mesg = strtok(NULL, ":"); 
    } 
    return 1; 
    } 
+0

您應該嘗試刪除'using namespace std'。 – juanchopanza 2012-04-22 20:51:29

+0

刪除註釋的代碼,以使視力更好。 – 2012-04-22 20:52:42

+0

發佈問題時,您應該嘗試將代碼減少到確切的問題。所有其他代碼只佔用空間並圍繞實際問題發出噪音。 – 2012-04-22 21:05:22

回答

相關問題