int place = determinePlace(input);
const int arraySize = (place + 1);
int decimal[arraySize] = {};
嗨!
我试图用一个const int变量定义小数[]阵列的大小。 然而,错误C2057和错误C2466不断上来。
有没有什么建议?
int place = determinePlace(input);
const int arraySize = (place + 1);
int decimal[arraySize] = {};
嗨!
我试图用一个const int变量定义小数[]阵列的大小。 然而,错误C2057和错误C2466不断上来。
有没有什么建议?
约阿希姆是正确的,你想设置:
const int arraySize = (determinePlace(input) + 1);
这不起作用,因为你试图让用户输入或类似的东西,当你运行该程序不是当你编译它,这将是唯一的访问。
我会尝试这样的事:
#include <vector>
using std::vector;
vector<int> decimal;
decimal.resize(determinePlace(input) +1);
decimal = {};
即使你声明arraySize
为const
,它仍然不是一个编译时间常数,因为它必须计算运行时间。
使用std::vector
,而不是:
std::vector<int> decimal(arraySize);
阵列的大小应int
, unsigned
, unsigned int
或size_t
不小数类型double
使用std::vector
使用
#include <vector> // include the header
定义矢量
std::vector<int> vec = {1, 2, 3, 4, 5};
这定义了的1 2 5 a值,,3,4,矢量INT
添加一些值
vec.push_back(12);
增加了12〜VEC矢量