gcc-2.96: pasting would not give a valid preprocessing token

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Listopad 26 15:35:28 CET 2000


On Fri, 24 Nov 2000, Míla Kuchta wrote:

> GCC verze 2.96 mi hazi:
> warning: pasting would not give a valid preprocessing token
> #define message(string, args...) printf("program: " string, ##args)

Pomineme-li krajne experimentalni status teto verze, tak chyba bude
mozna v tom, ze pri pouziti ## v definici makra je treba urcite
opatrnosti s tim, kde maji byt mezery a kde ne, protoze v pripade, ze by
args bylo prazdne, pak je ## schopno magicky zrusit tu prebytecnou
carku...ovsem pouze v pripade, ze je pred niz mezera (jestli muze byt
mezera za ni, to si nejsem zcela jisty). Zkusil bych:

#define message(string, args...) printf("program: " string ,##args)

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux