为什么我不能在C ++代码中使用_Generic?

时间:2017-02-27 22:23:10

标签: c++

我发现要实例化_Generic,源文件需要是.c文件并使用gcc -std = c11编译。将其命名为.cpp文件并使用g ++ -std = c ++ 11不起作用。 g ++ -std = c11(这是预期的,因为-std = c11开关仅适用于.c文件)。在C ++库中定义_Generic函数的好方法是什么,让C ++应用程序使用库?目的是支持C应用程序,但不放弃对C ++应用程序的支持。

1 个答案:

答案 0 :(得分:3)

C ++中没有_Generic,你不能在C ++代码中使用它。如果要设计交叉编译代码(例如头文件),请完全避免_Generic,或使用#ifdef __cplusplus为C和C ++提供相同代码的两个独立(或半独立)版本单独的,例如在C ++端使用函数重载而不是_Generic