【发布时间】:2015-06-30 20:17:24
【问题描述】:
我是一名 C++ 学生,这是我在这里的第一篇文章。
我有一个包含Member 对象的数组(将来会是动态的)。我正在尝试将数组传递给一个函数,在我的例子中是getLogin。
我认为我有一些语法错误,我仍在努力理解动态数组和在不同情况下正确的指针语法。 Visual Studio 显示 myMembers 的错误,它被写为 getLogin 的参数。
#include <iostream>
#include <string>
#include "Member.h"
using namespace std;
int getLogin( const int, Member[] );
int main(){
int numAccounts = 0;
int accCapacity = 5;
int currentAcc = 0;
Member member[5];
currentAcc = getLogin( numAccounts, member );
return 0;
}
int getLogin( const int lastAcc, Member[] myMember ){
int accNum;
cout << "account number:" << endl;
cin >> accNum;
if( accNum > 0 && accNum <= lastAcc ){
myMember[accNum].setLoggedIn( true );
}
else{
accNum = 0;
}
return accNum;
}
(ps 我真正想要的是一个指向数组的指针,因为我不希望创建整个数组的副本。但是,我相信使用数组名称实际上就像使用指向第一个的指针元素。所以我想我不需要担心这个。)
【问题讨论】:
-
嗯.. 我现在正在阅读这个问题。但是,看起来他们的答案建议对函数使用这种格式: int getLogin( const int lastAcc, Member (&myMemberArr)[] ) 但我不确定要为数组的大小输入什么..
标签: c++ arrays pointers object