У меня есть следующие части кода:
typedef struct Board* BoardP;
typedef struct Board {
int _rows;
int _cols;
char *_board;
} Board;
char* static allocateBoard(BoardP boardP, int row, int col) {
boardP->_rows = row;
boardP->_cols = col;
boardP->_board = malloc(row * col * sizeof(char));
return boardP->_board;
}
Я не могу понять, почему это дает ошибку
ожидаемый идентификатор или ‘(’ перед «статическим»
выдает ошибку после того, как я изменил тип возвращаемого значения на char *. когда он был недействительным, ошибки не было.
и еще один вопрос: меня учили, что приведение необходимо при использовании malloc, однако, похоже, что оно работает нормально без приведений. это нужно в этом случае?
спасибо