Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
waarschuwing C28139: het argument moet exact overeenkomen met het type
Aanvullende informatie |
Sommige functies staan beperkte rekenkundige bewerkingen toe voor het argumenttype, andere niet. Dit geeft meestal aan dat een enum-formal niet is doorgegeven aan een lid van het enum, maar ook kan worden gebruikt voor andere typen. |
Een opgesomde waarde in een functieaanroep komt niet overeen met het type dat is opgegeven voor de parameter in de functiedeclaratie. Deze fout kan optreden wanneer parameters onjuist zijn gecodeerd, ontbreken of niet in de volgorde zijn. Omdat C toestaat dat geïnventariseerd waarden door elkaar worden gebruikt en door elkaar kunnen worden gebruikt met gehele getallen, is het niet ongebruikelijk om de verkeerde opgesomde waarde door te geven aan een functie zonder de fout te herkennen.
Als deze fout wordt gerapporteerd door het hulpprogramma Code Analysis, raadpleegt u de documentatie van de functie in de WDK. Sommige functies zijn gecodeerd om alleen opgesomde waarden toe te staan. Anderen staan de toe: operator kan kiezen tussen waarden van dat type of rekenkundige waarden toestaan voor leden van het geïnventariseerd type, zoals wanneer bitvlagmen worden gecodeerd als een opgesomde waarde. In enkele gevallen kunnen geïnventariseerd waarden en constanten worden gecombineerd.
voorbeeld
In het volgende codevoorbeeld wordt deze waarschuwing weergegeven.
....KeWaitForSingleObject(&MyMutex, UserRequest, UserRequest, false, NULL);
In het volgende codevoorbeeld wordt deze waarschuwing voorkomen.
....KeWaitForSingleObject(&MyMutex, UserRequest, UserMode, false, NULL);