[英]c++ defining array size with a const variable
int place = determinePlace(input);
const int arraySize = (place + 1);
int decimal[arraySize] = {};
嗨!
我試圖使用const int變量來定義decimal []的數組大小。 但是,錯誤C2057和錯誤C2466繼續出現。
有什么建議嗎?
數組大小應為int
, unsigned
, unsigned int
或size_t
不是十進制類型double
使用std::vector
使用
#include <vector> // include the header
定義一個向量
std::vector<int> vec = {1, 2, 3, 4, 5};
這定義了vector int,其值為1,2,3,4,5
添加一些值
vec.push_back(12);
將vec向量添加12
約阿希姆是對的,你試圖設置:
const int arraySize = (determinePlace(input) + 1);
這不起作用,因為您正在嘗試獲取用戶輸入或類似的東西,只有在您運行程序時才能訪問它,而不是在編譯時。
我會嘗試這樣的事情:
#include <vector>
using std::vector;
vector<int> decimal;
decimal.resize(determinePlace(input) +1);
decimal = {};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.