Я пытаюсь создать include имя файла в макросе. Это должно быть законным в С++:
#define INCLUDE_FILE "module_impl_win.hpp"
#include INCLUDE_FILE
это отлично работает, но как только я пытаюсь сгенерировать имя файла, он не компилирует
#define INCLUDE_FILE(M) M##"_impl_win.hpp"
#include INCLUDE_FILE("module")
На самом деле это дает мне предупреждение о MSVC2010
предупреждение C4067: неожиданные жетоны после директивы препроцессора - ожидается newlin
но он не включает файл.
В чем проблема? Как я могу избавиться от него?