我想编写一个函数模板,根据某些编译时表达式返回一个引用或一个值。到目前为止我尝试过的是这样的:templateauto&&Func(){ifconstexpr(some_compile_time_expression){returnGetReferenceFromSomewhere();}else{returnGetValueFromSomewhere();}}这适用于所有类型的引用,但不适用于值。例如,如果GetValueFromSomewhere返回一个Foo,则编译器将Func的返回类型推断为Foo&&并发出警告我正在返回一个临时地址。有什么方法可以让它工作,还是我必须以某种方式