lundi 17 juin 2019

Having preprocessor directive as part of statement

We moved to a new compilation environment and all of sudden I started seeing this error "expected expression" on this statement:

enum {
  PROJX,
  PROJY,
  PROJW
};

constexpr int PLATFORM =
#if defined(X)
  PROJX
#elif defined(Y)
  PROJY 
#elif defined(W)
  PROJW
#endif
  ;

The error is pointing to the last semicolon.

Is this related to a specific c++11/14/17 standard?

Aucun commentaire:

Enregistrer un commentaire