【发布时间】:2013-12-20 15:59:27
【问题描述】:
请指导我使用此代码,我想使用数组和函数存储 5 个数据的列表,这是我的一段代码,但这给了我一个错误(“33”):
Cannot convert `ABC (*)[5]' to `ABC*' for argument `1' to `void pass(ABC*)'
代码:
#include <iostream>
using namespace std;
struct ABC{
char name[20];
int phone;
char address[20];
};
void pass(ABC *abc){
for(int i=0; i<5;i++){
cout<<"Enter name"<<endl;
cin>>abc[i].name;
cout<<"Enter phone"<<endl;
cin>>abc[i].phone;
cout<<"Enter address"<<endl;
cin>>abc[i].address;
}
}
int main()
{
ABC abc[5];
pass(&abc);
system("PAUSE");
return EXIT_SUCCESS;
}
【问题讨论】:
-
我看不到您通过引用传递的位置(
endl和abc[i].phone除外)。您所做的更正确地称为“按指针传递”。
标签: c++ arrays function pointers structure