У меня есть структура, определенная внутри capi_utils.h
, которая выглядит следующим образом:
#ifndef _CAPI_UTILS_H_
# define _CAPI_UTILS_H_
...
struct ScalarVariable{
char name[63];
float value;
uint8_T DataID;
char type[50];
};
...
#endif
Внутри capi_utils.c
Я попытался создать переменную для хранения структуры, подобной этой
struct ScalarVariable sVariable;
Который выдает ошибку, только когда я пытаюсь установить значение внутри структуры следующим образом:
sVariable.name = paramName;
Сообщение об ошибке:
capi_utils.c:27: error: invalid use of undefined type `struct ScalarVariable'
Что я делаю не так?
РЕДАКТИРОВАТЬ 1:
Я просто должен был включить capi_utils.h
. Я не думал, что должен был, потому что по какой-то причине я понял разные исходные файлы и заголовки.
РЕДАКТИРОВАТЬ 2:
Чтобы уточнить, я даже получал ошибки при попытке установить DataID, а не только массив.
void GetValueFromAdress(const char_T* paramName,
void* paramAddress,
uint8_T slDataID,
unsigned short isComplex,
uint_T* actualDims,
uint_T numDims,
real_T slope,
real_T bias) {
sVariable.DataID = slDataID;
}
будет производить error: invalid use of undefined type 'struct ScalarVariable'