c++ - 预处理器和模板参数或代码段的条件编译

标签 c++ templates c-preprocessor

如何使用预处理器条件编译模板函数?像那样(但它不起作用):

template <bool var>
void f()
{
    #if (var == true)
    // ...
    #endif
}

最佳答案

你不能。顾名思义,预处理器在编译器之前处理源文件。因此它不知道您的模板参数的值。

关于c++ - 预处理器和模板参数或代码段的条件编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378025/

相关文章:

C++ 错误 : Unhandled exception at 0x00934ABB (linked list, 地址簿)

c# - 从 C++ ASIO 库用 C# 录制音频流

C++ 枚举和内联 header 函数

c - 使用 C#define 变量作为 #include

c - 如何获得复杂的 C 预处理器行为以简化动态程序汇编

c++ - 在结构数组中设置多行错误

c++ - Boost asio ConstBufferSequence - C++ 模板

c++ - 我可以在基类中不指定类型名吗?

c++ - 成员函数作为 std::function 传递给模板,绑定(bind)所有参数

Android NDK C#ifndef 问题