C语言 重定义错误

2025-01-25 09:14:40
推荐回答(2个)
回答1:

链接错误应该会提示重定义的符号名,你要查一下是哪个符号。可以肯定不是
SYSTEM_MODULE_INFORMATION
或者
PSYSTEM_MODULE_INFORMATION
重定义。应该是在EnumSymbols.h
里面定义了别的变量或者函数。类型重复定义不会在链接时候报错,只会在编译时报错。

回答2:

在main的前面加上void hehe(double *yy, int i);
或者直接把整个函数挪到main前面去。

因为你如果不定义,那么编译器会自动补一个int hehe(double *yy, int i);这样的声明。你在下面定义的是void ...,不一样,就出问题了。