Я хотел бы знать, почему не работает следующий фрагмент:
typedef void (*MYFUNC_PTR)(int a);
MYFUNC_PTR myFunc;
void myFunc(int a)
{
}
Я использую Microsoft Visual Studio 2017. Исходный файл - ".c", но я пытался сделать то же самое с".cpp".Я получаю сообщение об ошибке:
Error C2365 'myFunc': redefinition; previous definition was 'data variable'
ПРИМЕЧАНИЕ. Я предполагал, что этот код будет работать, поскольку Microsoft упоминает похожий фрагмент (который тоже не работает, как я тоже проверял), например здесь .
РЕДАКТИРОВАТЬ: Я думал, может быть, это работает только в одном из новых стандартов C ++, но это не так, как я пытался C ++ 17.