Seit gestern habe ich einen Compiling-Fehler für mein C-Projekt konfrontiert. Das Projekt selbst besteht darin, einen Dienst zu erstellen, der einige Aufgaben erledigt.Fehler C2275: Illegale Verwendung dieses Typs als Ausdruck
Ich habe nicht was seit gestern geändert, aber heute Morgen kann mein Code nicht mehr kompilieren.
Hier sind die Fehler, die ich habe:
c:\path\main.c(56): error C2275: 'SERVICE_TABLE_ENTRY' : illegal use of this type as an expression
c:\program files\microsoft sdks\windows\v7.0a\include\winsvc.h(773) : see declaration of 'SERVICE_TABLE_ENTRY'
c:\path\main.c(56): error C2146: syntax error : missing ';' before identifier 'DispatchTable'
c:\path\main.c(56): error C2065: 'DispatchTable' : undeclared identifier
c:\path\main.c(56): error C2059: syntax error : ']'
c:\path\main.c(57): error C2065: 'DispatchTable' : undeclared identifier
c:\path\main.c(57): warning C4047: 'function' : 'const SERVICE_TABLE_ENTRYA *' differs in levels of indirection from 'int'
c:\path\main.c(57): warning C4024: 'StartServiceCtrlDispatcherA' : different types for formal and actual parameter 1
der Code von diesen Fehlern betroffen Hier (von Zeilen 45 bis 58):
int main(int ac, char *av[])
{
if (ac > 1)
{
if (!parse_args(ac, av))
{
aff_error(ARGUMENTS);
return EXIT_FAILURE;
}
}
SERVICE_TABLE_ENTRY DispatchTable[] = {{MY_SERVICE_NAME, ServiceMain}, {NULL, NULL}};
StartServiceCtrlDispatcher(DispatchTable);
return EXIT_SUCCESS;
}
Und hier ist der Code meiner Servicemain Funktion:
Ich konnte nicht einige Antworten finden, die zu meinem Problem passen, könnte jemand helfen? Vielen Dank !
Ow ok, ich habe diesen Fehler nicht vorher, deshalb habe ich nicht darüber nachgedacht, danke! –
Das ist so archaisch! ... aber danke, ich steckte auch fest. – likejiujitsu
Ich habe gerade die gleiche Einschränkung :(Grrrrrr! –