Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme avec un macro

3 réponses
Avatar
Vincent Torri
Je fais le port Windows d'une bibliothèque linux. Je compile avec vc++

Elle utilise la macro:

#define UNROLL2(op...) op op

vc++ dit alors :

error C2010: '.' : inattendu dans la liste de paramètres formels d'une
macro

gcc ne râle pas, par contre.

quelqu'un aurait-il une idee de la solution ?

merci

3 réponses

Avatar
Christian ASTOR
On 20 sep, 09:48, Vincent Torri wrote:
Je fais le port Windows d'une bibliothèque linux. Je compile avec vc++
Elle utilise la macro:
#define UNROLL2(op...) op op
vc++ dit alors :
error C2010: '.' : inattendu dans la liste de paramètres formels d'un e
macro
gcc ne râle pas, par contre.
quelqu'un aurait-il une idee de la solution ?



Pour les "Variadic Macros", il faut 2005 au moins =>
http://msdn.microsoft.com/en-us/library/ms177415(VS.80).aspx
Avatar
Vincent Torri
Christian ASTOR écrivait news:fd5006a3-e611-
:

On 20 sep, 09:48, Vincent Torri wrote:
Je fais le port Windows d'une bibliothèque linux. Je compile avec vc++
Elle utilise la macro:
#define UNROLL2(op...) op op
vc++ dit alors :
error C2010: '.' : inattendu dans la liste de paramètres formels d'un
e macro gcc ne râle pas, par contre.
quelqu'un aurait-il une idee de la solution ?



Pour les "Variadic Macros", il faut 2005 au moins =>
http://msdn.microsoft.com/en-us/library/ms177415(VS.80).aspx



ca tombe bien, j'ai VS 2008 :-)
Avatar
Christian ASTOR
On 20 sep, 13:27, Vincent Torri wrote:
Christian ASTOR écrivait news:fd5006a3-e611 -
:

> On 20 sep, 09:48, Vincent Torri wrote:
>> Je fais le port Windows d'une bibliothèque linux. Je compile avec vc ++
>> Elle utilise la macro:
>> #define UNROLL2(op...) op op
>> vc++ dit alors :
>> error C2010: '.' : inattendu dans la liste de paramètres formels d 'un
>> e macro gcc ne râle pas, par contre.
>> quelqu'un aurait-il une idee de la solution ?

> Pour les "Variadic Macros", il faut 2005 au moins =>
>http://msdn.microsoft.com/en-us/library/ms177415(VS.80).aspx

ca tombe bien, j'ai VS 2008 :-)



Je pense que la syntaxe de l'exemple n'est pas standard (C99)
Les ex. de MS comme
#define CHECK1(x, ...) if (!(x)) { printf(__VA_ARGS__); }
qui ne compilent pas sous VS2003, compilent bien sous VS2005 par
exemple...