Wie beseitigen Sie die "discard qualifier" Warnung?

GCC verwenden und C99-Modus habe ich eine Funktion deklariert als:

void func(float *X);

Wenn ich die Funktion aufrufen, ich benutze einen flüchtigen array Y:

volatile float Y[2];
int main()
{
    func(Y);
    return 0;
}

Beim kompilieren (mit -Wall), bekomme ich die folgende Warnung:

warning: passing argument 1 of func discards qualifiers from pointer target type
blah.c:4: note: expected float *’ but argument is of type volatile float *’

Kann ich beseitigen mit einer expliziten (float *) Art werfen, aber dies wiederholt sich an vielen stellen im code.

Gibt es eine Möglichkeit, dies zu beseitigen spezifische Warnung, mit einer option oder ein pragma (oder etwas vergleichbares)?

Was hat das mit printf?
du hast Recht, die eigentliche Funktion printf, ich habe gerade die Frage mehr allgemein.

InformationsquelleAutor ysap | 2012-08-28

Schreibe einen Kommentar