У меня есть два модуля, написанные на C11 в моем проекте: 'test1.c' и 'test2.c'.Модуль 'test1.c':
int FunctionWithVeryLONGLONGLONGLONGName(char* data)
{
// do something
}
Модуль 'test2.c':
extern int FunctionWithVeryLONGLONGLONGLONGName(char* data);
int main(void)
{
char data[ DATA_LEN + 1 ] = { "test_data" };
FunctionWithVeryLONGLONGLONGLONGName(data);
return 0;
}
Я хочу использовать короткое имя для функции 'FunctionWithVeryLONGLONGLONGLONGName' в модуле 'test2.c'без модификации модуля 'test1.c'.Например, что-то вроде этого:
FuncWithShortName(data);
Я пытаюсь сделать:
extern int FunctionWithVeryLONGLONGLONGLONGName(char* data);
typedef int FunctionWithVeryLONGLONGLONGLONGName(char* data);
FunctionWithVeryLONGLONGLONGLONGName FuncWithShortName;
int main(void)
{
char data[ DATA_LEN + 1 ] = { "test_data" };
FuncWithShortName(data);
return 0;
}
Но компилятор выдал ошибку: «Определение функции FunctionWithVeryLONGLONGLONGLONGNamerequires скобки».Что я сделал не так?