【发布时间】:2012-12-18 02:51:42
【问题描述】:
我想使用decltype 将方法的返回类型虚拟绑定到类似的变量类型
#include <iostream>
decltype(a) foo() // my point
{
return 4.3f;
}
int main(int argc, char* argv[])
{
auto a = 5.5f;
std::cout << foo() << std::endl;
return(0);
}
但您可以轻松猜到,此代码在 Linux 上的 g++-4.7.2 下无法编译。
有解决方法吗?我知道auto,但这不是我想要使用的(我不想使用auto 作为foo() 的返回类型)。
【问题讨论】:
-
“虚拟地绑定返回类型”是什么意思?是指 virtual 和 virtual functions 一样吗? IE。您是在谈论某种运行时(后期)绑定吗?
-
@jogojapan "virtual" as "normal people" 认为,我的意思是
foo应该表达与a相同的返回类型 -
要将
a的类型和foo的返回类型绑定在一起,为两者引入类型同义词不是很有意义吗?