2012-04-22 61 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

回答

相关问题