C++ 函数中的数组

C++ 函数中的数组,c++,arrays,function,C++,Arrays,Function,我想在函数中创建一个数组,如下所示: int function(int a){ int something[a]{}; return something; } 但是下一个错误表达式必须显示一个常量值。您的代码没有真正意义,您试图创建一个数组,然后从一个应该返回int的函数返回一个数组。猜测您的意图 如果要从基于索引a的数组返回int,可以: test.cpp 使用$g++test.cpp-o test编译 使用$./test运行int something[a]{};你打算这条线

我想在函数中创建一个数组,如下所示:

int function(int a){
    int something[a]{};
    return something;
}

但是下一个错误表达式必须显示一个常量值。

您的代码没有真正意义,您试图创建一个数组,然后从一个应该返回int的函数返回一个数组。猜测您的意图

如果要从基于索引a的数组返回int,可以:

test.cpp

使用$g++test.cpp-o test编译
使用$./test运行

int something[a]{};你打算这条线干什么?简单地创建一个数组大小a?C++不支持VLA,使用STD::向量数组必须具有恒定的大小。a不是常数。把C++书打开到解释如何使用STD::vector并读取它的章节。你需要这个吗?int*functioninta{int*something=newint[a];返回某物;}忘记所有这些,使用std::vector。然而,你真正想在这里做什么仍然有点神秘,因为你的回报声明毫无意义。
#include <iostream>

int function(int a){
    int something[] = {1,2,3};
    return something[a];
}

int main()
{
    std::cout << function(1) << std::endl;
}