const char in Rückgabe?

18/07/2008 - 12:27 von Andreas Volz | Report spam
Hello,

ich verstehe gerade nicht warum das unten eine Warnung vom Compiler
erzeugt:

const char cc = 'c';

const char test()
{
return cc;
}

warning: type qualifiers ignored on function return type

gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Mit dem g++ gleicher Version funktioniert es ohne Warnung. Hat der
Compiler einen Bug oder kann ich einfach kein C mehr. :-)

Gruß
Andreas

Technical Blog <http://andreasvolz.wordpress.com/>
 

Lesen sie die antworten

#1 Sven Joachim
18/07/2008 - 12:51 | Warnen spam
Hallo Andreas,

Am 18.07.2008 um 12:27 schrieb Andreas Volz:

ich verstehe gerade nicht warum das unten eine Warnung vom Compiler
erzeugt:

const char cc = 'c';

const char test()
{
return cc;
}

warning: type qualifiers ignored on function return type

gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Mit dem g++ gleicher Version funktioniert es ohne Warnung. Hat der
Compiler einen Bug oder kann ich einfach kein C mehr. :-)



Letzteres. ;-) Aus der Manpage zu GCC 4.3:

-Wignored-qualifiers (C and C++ only)
Warn if the return type of a function has a type qualifier
such as "const". For ISO C such a type qualifier has no
effect, since the value returned by a function is not an
lvalue. For C++, the warning is only emitted for scalar types
or "void". ISO C prohibits qualified "void" return types on
function definitions, so such return types always receive a
warning even without this option.

This warning is also enabled by -Wextra.

GCC 4.2 warnt bereits bei -Wall.

Sven

Ähnliche fragen