Я пытаюсь сгенерировать имя включаемого файла в макросе. Предполагается, что это разрешено в C ++:
#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
, но не включает файл.
В чем проблема? Как мне от этого избавиться?