在下面的代碼中,我試圖訪問參考數組的結構和移位它在數組索引中。
訪問結構時發生invalid conversion from ‘int’ to ‘const char*’ [-fpermissive]
錯誤,因爲對索引的引用似乎被讀爲cstring的指示。 如何在此上下文中訪問結構成員?哪裏不對?修改int類型錯誤的結構成員:從'int'到'const char *'的無效轉換[-fpermissive]
void removeSong (Song songList[], int& size){
int indexRem;
int i;
cout << "Input index to remove" << endl;
cin >> indexRem;
//Error checking for correct index(0 and 1 less than count) needed
for(i = indexRem; i < size; i++){
songList[i] = songList[i+1];
}
strcpy(songList[i].title, songList[i+1].title);
strcpy(songList[i].artist, songList[i+1].artist);
strcpy(songList[i].album, songList[i+1].album);
strcpy(songList[i].min, songList[i+1].min);
strcpy(songList[i].sec, songList[i+1].sec);
size--;
}
編輯:此問題與C字符串繪製不正確的關係。這個問題是不恰當的使用strcpy函數。
至於錯誤,*你在哪裏得到它,在哪一行?結構是什麼樣的? –
爲什麼你根本無法使用'std :: vector'和另外'std :: string'而不是char數組? –
PaulMcKenzie
錯誤發生在'strcpy(songList [i] .min,songList [i + 1] .min); strcpy(songList [i] .sec,songList [i + 1] .sec);' – 0x1000001