Why does this fail to compile?
char programDate[] = "("__DATE__")";
But this compiles fine (see space):
char programDate[] = "(" __DATE__")";
I do know VC2015 now supports literal-operators. But shouldn't that be in compilation phase? __DATE__
should have been processed by the pre-processor. What is going on here?
I thought of some mix-match issue with Unicode/non-Unicode build - but it doesn't help. It's not just issue with pre-defined macros, but with user defined also:
#define MACRO "abc"
char data[] = "("MACRO")";
EDIT:
Error C3688 invalid literal suffix '__DATE__'; literal operator or literal operator template 'operator ""__DATE__' not found
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…