Visual Studio 2015では、#define USE_SQLDB
ディレクティブは私が期待することをしません。
私が問題に#define USE_SQLDB(定義済み(USE_SQLITE)||定義済み(USE_MYSQL))
#include "stdafx.h"
#define USE_SQLITE
//#define USE_MYSQL
#define USE_SQLDB (defined(USE_SQLITE) || defined(USE_MYSQL))
int main()
{
#if defined(USE_SQLITE)
puts("SQLITE"); // OK
#endif
#if defined(USE_MYSQL)
puts("MYSQL"); // Grayed out - OK
#endif
// Should expand to defined(USE_SQLITE) || defined(USE_MYSQL)
#if USE_SQLDB
puts("SQLITE or MYSQL"); // Grayed out - NOT OK
#endif
#if defined(USE_SQLITE) || defined(USE_MYSQL)
puts("SQLITE or MYSQL"); // OK
#endif
return 0;
}
を説明するために、最小限の例を持っている私はUSE_SQLDB
が真実であることを期待し、そうではありません。
ここに何が問題なのですか?