这是我的代码,我试图通过向用户询问大小来为对象分配内存。我不知道我哪里错了。编译器给我的错误是 “void value not ignored as it should be”
。请帮我。提前致谢。
#include <iostream>
using namespace std;
class test
{
char name[20];
char address[30];
char desig[20];
public:
void getData();
void display();
~test()
{
cout << "Destructor is invoked";
}
};
void test::getData()
{
cout << "Enter your name" << endl;
cin >> name;
cout << "Enter address" << endl;
cin >> address;
cout << "Enter designation" << endl;
cin >> desig;
}
void test::display()
{
cout << "name" << endl;
cout << name << endl;
cout << "address" << endl;
cout << address;
cout << "Enter designation" << endl;
cout << desig;
}
int main()
{
int s;
cout << "Enter the size of an array" << endl;
cin >> s;
test* p1 = new test[s];
for (int i = 0; i < s; i++)
{
*p1[i].getData();
}
for (int i = 0; i < s; i++)
{
*p1[i].display();
}
delete[] p1;
return 0;
}
最佳答案
你需要改变:
*p1[i]
收件人:
p1[i]
关于c++ - 动态分配对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21466986/