Я пытаюсь создать простую функцию, которая ищет выбранный столбец для первого экземпляра значения, а затем возвращает строку, в которой она находится. Это будет поиск в предопределенной структуре, называемой «SPREADSHEET», , Однако у меня возникают серьезные проблемы.Ошибки сравнения указателей
Я получаю ошибку «несовместимый тип для аргумента 1 из memcpy» и еще пару ошибок. Вот мой код:
// Searches down the specified column for a row which contains text.
// The search starts at row number rowNum;
// The result is the row number (where the first row is numbered 0).
// If the text is not found, the result is -1.
int SS_FindRow(SPREADSHEET *ss, int colNum, char *text, int startNum) {
if (debug)
fprintf(stderr, "DEBUG: Call to SS_FindRow(--,%d,%s,%d)\n",
colNum, text, startNum);
// TO BE COMPLETED!
SPREADSHEET read;
memcpy(read,ss,sizeof(ss));
int i;
for(i = startNum; i < MAXROWS; i++) {
if(strcmp(&read.contents[i][colNum],text)==0)
return i;
}
return -1;
}
Я очень сильно обеспокоен тем, что может быть причиной этого. Запуск программы и независимо от того, какой мой вклад является оператором if, никогда не будет успешным. Помогите?
try 'memcpy (& read, ss, sizeof (* ss));' – BLUEPIXY
«несовместимый тип для аргумента 1 из memcpy» означает, что он должен быть «memcpy (& read, ss, sizeof (ss))». А как насчет других ошибок? – starrify
@starrify: 'sizeof * ss'. – Deduplicator