标签: c++ c++14 default-value void return-type
我有一个函数:template <typename T> T foo()。问题是T可以是void。
template <typename T> T foo()
T
void
如果我有c++17支持,可以这样定义:
template <typename T> T foo() { if constexpr(is_same_v<T, void>) { return; } else { return {}; } }
但是我不是:(我可以在c++14中做任何事情来有条件地返回T{}吗?
T{}