我有一些情况,有时bool
我想调用 2 个constexpr
返回不同类型的函数并将其分配给auto
常量。
不幸的是,三元运算符需要类型“相似”。
我在下面的代码中有解决方法,但它非常冗长。有没有更好的办法?
#include <iostream>
#include <string>
constexpr int get_int(){
return 47;
}
constexpr std::string_view get_string(){
return "47";
}
constexpr bool use_str = false;
constexpr auto get_dispatch(){
if constexpr(use_str){
return get_string();
} else{
return get_int();
}
}
int main()
{
// what I want : constexpr auto val = use_str ? get_string():get_int();
// what works:
constexpr auto val = get_dispatch();
std::cout << val << std::endl;
}