我是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