[問題] struct裡面的動態陣列宣告
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2010 Express
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
不知道如何正確使用struct的動態宣告
我有兩個struct:A, B, 其中A又包含在struct B裡面
但是兩個的初始大小都是不確定的,所以才打算用動態宣告
我在猜是不是記憶體位置沒有配置好,但是以前都習慣直接用new所以> <
錯誤結果(Wrong Output):
Invalid allocation size
程式碼(Code):(請善用置底文網頁, 記得排版)
struct A{
int tmp1;
int tmp2;
};
struct B{
int tmp3;
A* a_tmp;
};
int main()
{
int b_cnt = 10;
int a_cnt = 100;
B* b = new B [b_cnt];
for(int i =0; i<b_cnt; i++)
{
b[i].a_tmp = new A [a_cnt];
}
}
補充說明(Supplement):
用express的debug功能就會跳出invalid allocation
如果用命令提示字元就沒問題
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.73.128
推
10/25 00:47, , 1F
10/25 00:47, 1F
抱歉打錯> "< 我再修改一下
※ 編輯: pulajin 來自: 140.115.73.128 (10/25 00:49)
推
10/25 00:50, , 2F
10/25 00:50, 2F
改了還是不行耶 囧""
※ 編輯: pulajin 來自: 140.115.73.128 (10/25 00:51)
→
10/25 00:53, , 3F
10/25 00:53, 3F
→
10/25 00:53, , 4F
10/25 00:53, 4F
→
10/25 00:53, , 5F
10/25 00:53, 5F
不是耶 因為這是我打的例子而已XD"
就算改掉 他還是一樣會出錯~"~
※ 編輯: pulajin 來自: 140.115.73.128 (10/25 00:55)
→
10/25 00:57, , 6F
10/25 00:57, 6F
→
10/25 01:01, , 7F
10/25 01:01, 7F
推
10/25 01:10, , 8F
10/25 01:10, 8F
感謝板友的教學!!
結果是我犯了低級錯誤> <
裡面有個讀檔的動作會讀到a_cnt 跟b_cnt的值
但是我不太熟Express的檔案要放在哪裡所以低級錯誤.........~"~
※ 編輯: pulajin 來自: 140.115.73.128 (10/25 01:18)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章