warning: unused parameter 'xyz' entfernen
-
hallo habe eine kleines problem das ich mit euch diskutieren will. um das besser zu beschreiben ein bischen code, also myCallbackA und myCallbackB werden in myCallbacks registriert und dann darüber aufgerufen also muß der functions kopf gleich sein.
void (*myCallbacks[5])(int); void myCallbackA(int a){ printf("%d",a); } void myCallbackB(int b){ }
hoffe das stimmt so mehr oder weniger. das problem ist dass ich den parameter in myCallbackA brauche aber wenn er in der function myCallbackB nicht verwendet wird bekomm ich eine warnung "warning: unused parameter 'xyz'" und die stören mich tierisch...
hat jemand eine idee wie ich die warnung entfernen kann
lg lolo
-
Typ behalten, Namen löschen.
-
hallo danke für die schnelle antwort denke das geht nur bei c++ so mit c bekomm ich folgenden fehler "error: parameter name omitted"
hab jetzt mal folgendes gefunden http://sourcefrog.net/weblog/software/languages/C/unused.html
aber so richtig toll find ich das auch nicht, wenn ich ne bessere lösung find post ich sie gleich
lg lolo
-
okay sowas wird auch noch als lösung angeboten
void myCallbackB(int b){ b=b; }
hat denn niemand beim c99 entwurf daran gedacht
-
beim gcc gibt es zb. das attribute unused, was man dazu schreiben kann.
sowas wie b=b ist nicht so prall, das kann früher oder später wieder zu einer warnung führen
-
noob_lolo schrieb:
okay sowas wird auch noch als lösung angeboten
void myCallbackB(int b){ b=b; }
hat denn niemand beim c99 entwurf daran gedacht
Ich hab immer
void myCallbackB(int b){ b; }
genommen.
Aber besser ist wohlvoid myCallbackB(int b){ (void)b; }
, das sagt recht vielen Compilern explizit "Ach, halt doch die Klappe!", denn in der klassischen assert-Implementierung steht's genauso.