小编Ses*_*tin的帖子

使用函数参数指针时出现“未初始化的局部变量”错误

我有一个功能:

VOID GetOSVersion(PDWORD major, PDWORD minor, PDWORD build)
{
    OSVERSIONINFO osver;
    ZeroMemory(&osver, sizeof(OSVERSIONINFO));
    osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    GetVersionEx(&osver);
    if(major)
    *major = osver.dwMajorVersion;
    if(minor)
    *minor = osver.dwMinorVersion;
    if(build)
    *build = osver.dwBuildNumber;
}
Run Code Online (Sandbox Code Playgroud)

我想像这样调用它:

PDWORD major;
PDWORD minor;
PDWORD build;
GetOSVersion(major, minor, build);
Run Code Online (Sandbox Code Playgroud)

我收到所有三个参数的错误:

未初始化的局部变量

在我的脑海里,它是这样的:我声明majorminorbuild,然后它们就被填充到函数中。在调用代码的前三行中已经为它们分配了空间。

我肯定在这里遗漏了一些东西。有人可以帮我解释一下吗?

c++

0
推荐指数
1
解决办法
1512
查看次数

标签 统计

c++ ×1