template <typename Z> Z myTemplate <Z> :: popFromVector ()
{
if (myVector.empty () == false)
return myVector.pop_back ();
return 0;
}
int main ()
{
myTemplate <int> obj;
std :: cout << obj.popFromVector();
return 0;
}错误:
error: void value not ignored as it ought to beAFAI可以看到,popFromVector的返回类型不是空的。我漏掉了什么要点?当我在main()中注释掉这个调用时,错误消失了。
发布于 2011-09-05 20:11:05
是pop_back()。它有一个void返回类型。您必须使用back()来获取实际值。这是为了避免不必要的副本。
https://stackoverflow.com/questions/7307830
复制相似问题