0

我有

run(){
...
struct sockaddr_in from;
int i = recvpacket(buffer,from, fromlen)
...
}


recvpacket(char *buffer, struct sockaddr_in from, int fromlen)
{
//udp recvfrom stores the address of the sender in from
}

我在 VC++ 中得到以下运行时错误

runtime check failure - the variable 'from' is used without being initialized

我应该通过引用传递,我应该怎么做?

4

2 回答 2

2

要解决的两件事:

  • 要删除警告,您必须from像这样初始化,例如:

    struct sockaddr_in from= {0};

  • 要在调用时获取地址,recvpacket您必须将其声明为引用

    recvpacket(char *buffer, struct sockaddr_in& from, int fromlen)

于 2012-11-15T09:30:01.633 回答
1

在你的 run() 方法中:struct sockaddr_in from = {0};并通过引用传递它以在被调用的方法中更新

于 2012-11-15T09:25:04.477 回答