簡體   English   中英

數組大小分配錯誤

[英]Array size allocation error

我在粘貼下面的這段代碼中遇到了錯誤。 它說:

1.Expression必須具有恆定值。

2.表達沒有評估為常數

#include <iostream>
#include <string>

using namespace std;



int main() 
{

    string ko = "flip";
    int kosize = ko.size();
    char arra[kosize] = { 1,3,2 };
    cin.ignore(numeric_limits<streamsize>::max(),'\n');
    return 0;
}

那么,如何根據字符串的大小分配數組?

那么,如何根據字符串的大小分配數組?

您可以使用動態分配的數組,例如:

char* arra = new char[kosize];
arra[0] = 1;
arra[1] = 3;
arra[2] = 2;

但是,使用這種動態分配的內存會給您帶來管理內存的負擔。 您必須確保釋放內存。 最好使用std::vector

std::vector<char> arra(kosize);
arra[0] = 1;
arra[1] = 3;
arra[2] = 2;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM