Modifying member of struct that is of int type error: invalid conversion from ‘int’ to ‘const char*’ [-fpermissive]
Modifying member of struct that is of int type error: invalid conversion from ‘int’ to ‘const char*’ [-fpermissive]
在下面的代码中,我试图访问结构体引用数组的一个成员并将其移动到数组索引中。
访问结构时出现 invalid conversion from ‘int’ to ‘const char*’ [-fpermissive]
错误,因为对索引的引用似乎被读取为 cstring 的指示。
在此上下文中如何访问结构成员?怎么了?
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 函数使用不当。
在没有至少看到 Song
结构定义的情况下,我只能假设它的至少一个成员是 int
类型。 strcpy
函数 只有 对于 C 字符串(const char*
类型的变量)是必需的,因此如果您尝试将它用于int
。
在下面的代码中,我试图访问结构体引用数组的一个成员并将其移动到数组索引中。
访问结构时出现 invalid conversion from ‘int’ to ‘const char*’ [-fpermissive]
错误,因为对索引的引用似乎被读取为 cstring 的指示。
在此上下文中如何访问结构成员?怎么了?
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 函数使用不当。
在没有至少看到 Song
结构定义的情况下,我只能假设它的至少一个成员是 int
类型。 strcpy
函数 只有 对于 C 字符串(const char*
类型的变量)是必需的,因此如果您尝试将它用于int
。