C4700:未初始化的局部变量

Ben*_*Ben 2 c++ console

当我编译这段代码时,它说"错误C4700:未初始化的局部变量'b'使用". 我不知道我现在要做些什么来解决这个问题.我既不是IT学生也不是技术人员,但我非常喜欢学习C++,而且我自己也在学习.我已经在这一天了.

非常感谢

#include <stdio.h>
#include <iostream>

//A. 
//1--
void InputArray(int *a, int &n)
{
    printf("Insert n = ");
    scanf("%d", &n);
    a = new int[n];
    for (int i=0; i<n; i++)
    {
        printf("Enter the key's a[%d] values: ", i);
        scanf("%d",&a[i]);
    }
}


void main()
{
    int *b, m;
    InputArray(b, m);
}
Run Code Online (Sandbox Code Playgroud)

Luc*_*ore 14

b按值传递,这意味着将复制,但由于它未初始化,因此会收到警告.只需初始化它:

int *b = nullptr;
Run Code Online (Sandbox Code Playgroud)

要么

int *b = NULL;
Run Code Online (Sandbox Code Playgroud)