2014-04-04 3 views
1

안녕하세요,이 프로그램의 목적은 벡터 룸의 모든 요소를 ​​빈 문자열로 초기화하는 것입니다. 이것은 벡터를 다루고 참조로 전달하는 것의 첫 번째 시도입니다. 잘못된.아래 첨자는 배열 또는 포인터 유형이 필요합니다

#include <iostream> 
#include <string> 
#include <vector> 

using namespace std; 

void mainMenu(vector <int> &VectorRooms(), string &EmptyString); 

int main() 
{ 
    vector <int> Rooms(13); 
    string str1 = "Empty"; 

    mainMenu(Rooms, str1); 
} 

    void mainMenu(vector <int> &VectorRooms(), string &EmptyStrings) 
    { 
    int i; 
    for (i = 0; i < VectorRooms.size(); i++) 
    { 
    VectorRooms[i] = EmptyStrings; 
    cout << VectorRooms[i] << endl; 
    } 
    } 

답변

1

당신은이 :

void mainMenu(vector <int> &VectorRooms(), string &EmptyStrings) 

당신은 의미 :

void mainMenu(vector <int> &VectorRooms, string &EmptyStrings) 

그 괄호를 제거합니다. 거기에 괄호를 사용하면 vector <int> &을 반환하고 매개 변수를 사용하지 않고 함수 포인터 유형에 인덱스 []이 유효하지 않은 함수에 대한 함수 포인터로 실제로 VectorRooms을 선언하고 있습니다. 그건 물론, 당신의 의도가 아닙니다.