Создать имя включаемого файла в макросе

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

, но не включает файл.

В чем проблема? Как мне от этого избавиться?

20
задан unwind 19 March 2014 в 09:54
поделиться