C++ 变量在未初始化的情况下使用

C++ 变量在未初始化的情况下使用,c++,visual-c++,C++,Visual C++,我有 我在VC中遇到以下运行时错误++ 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 } 我应该通过引用传递吗?我应该怎么做?在ru

我有

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

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
}
我应该通过引用传递吗?我应该怎么做?

在run()方法中:
struct sockaddr\u In from={0}
并通过引用将其传递给run()方法中被调用的方法

struct sockaddr\u in from={0}并通过引用将其传递到被调用的方法中进行更新

要解决的两个问题:

  • 要删除警告,必须从
中初始化
,例如:

struct sockaddr_in from={0}

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

    recvpacket(char*buffer,结构sockaddr\u in&from,int fromlen)

    • 有两件事需要解决:

      • 要删除警告,必须从
    中初始化
    ,例如:

    struct sockaddr_in from={0}

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

    recvpacket(char*buffer,结构sockaddr\u in&from,int fromlen)


  • @icepack什么不是C/C++?任务?还是空的?好的,null在这里应该是0。这也是。主要的区别是0附近缺少{}。@icepack什么不是C/C++?任务?还是空的?好的,null在这里应该是0。这也是。主要区别在于0附近缺少{}。
    runtime check failure - the variable 'from' is used without being initialized