[Error] ld returned 1 exit st
class stack
{
protected:
int *data;
int pos;
public:
stack(int i=3)
{
cout<<"gou zhao"<<endl;
data=new int [i];
pos=i;
}
stack(stack &t)
{
cout<<"kao bei"<<endl;
for(int i=0;i<t.pos;i++)
{
data[i]=t.data[i];
}
pos=t.pos;
}
~stack()
{
cout<<"xi gou"<<endl;
delete []data;
}
void input()
{
cout<<"pleacs input"<<endl;
for(int i=0;i<pos;i++)
cin>>data[i];
}
friend void output( stack &b);
};
void test(stack a)
{
cout<<"in the function!"<<endl;
}
void output( stack &b) //为什么这里不可以用普通变量b调用拷贝?
{
for(int i=0;i<b.pos;i++)
cout<<b.data[i]<<endl;
}
int main()
{
int i;
cout<<"plecse input number:";
cin>>i;
stack x(i);
x.input();
stack y;
y=x;
output(y);
return 0;
}
为什么总是报错:
[Error] ld returned 1 exit status
我的目的是验证拷贝函数的调用情况
还有一个问题:为什么不可以 stack y=x;初始化式的调用拷贝函数?