NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
```c++ #include <stdio.h> typedef char YES[0]; typedef char NO[1]; template <class T> struct HasFunction { template <class> static NO& test(...); template <class U> static YES& test(decltype(&U::function)); static const bool value = sizeof(test<T>(0)) == sizeof(YES); }; struct WithFunction { void function() {} }; struct NoFunction { }; int main () { if (HasFunction<WithFunction>::value) { printf("WithFunction has function.\n"); } else { printf("WithFunction hasn't function.\n"); } if (HasFunction<NoFunction>::value) { printf("NoFunction has function.\n"); } else { printf("NoFunction hasn't function.\n"); } return 0; } ```