我是C++的新手,請幫助我。非常感謝。如何將數組傳遞給構造函數或類?
我想將一個(新類型數組)傳遞給一個類。但我得到的消息,「拋出一個bad_alloc的實例後調用C++終止」是什麼意思?再次感謝!!!!
#include <iostream>
using namespace std;
class test {
public:
test (int*, int);
void check();
private :
int k;
int *a= new int [k];
//int a;
};
int main()
{
//int a1=5,n=4;
int n=4;
int *a1= new int[n];
//int a1[4]={1,2,3,4};
test haha(a1,n);
haha.check();
return 0;
}
test::test(int *aa, int kk){
a=aa;
k=kk;
}
void test::check()
{
for(int i=0; i<k; i++){
cout<<a<<" ";
}
}
[?潤通(http://i0.kym-cdn.com/photos/images/original/000 /176/344/ALOT.png?1316561198) - 更嚴重的消息,這段代碼甚至不應該編譯...你確定這是你正在使用的*精確*代碼嗎? –
這是如何編譯? –
你有沒有考慮過使用'std :: vector'而不是手動分配數組?這也可以解決你破壞'test'的memleak。我也建議命名你的變量有一點表現力。關於你的問題:你嘗試創建一個數組有多大?'bad_alloc'典型信號發射出去的內存(除非你設法損壞您的堆或東西) – Grizzly