我該怎麼做才能編譯這個代碼,它是圍繞這條線制動的:如何在C++(C++ 0x)中使用'auto'?
auto val = what.getObject();
#include<iostream>
using namespace std;
class CUP{
public:
void whatsHappening(){}
};
class MUG{
public:
void whatsHappening(){}
};
class CupThrower{
public:
CUP cp;
CUP getObject(){ return cp;}
};
class MugThrower{
public:
MUG mg;
MUG getObject(){return mg;}
};
template <typename T> void whatsHappening(T what){
auto val = what.getObject(); //DOES NOT COMPILE
val.whatsHappening();
}
int main(){
CupThrower ct;
MugThrower mt;
whatsHappening(ct);
whatsHappening(mt);
return 0;
}
我正在使用VS2008進行編譯。
發佈您正在收到的實際錯誤將會很有幫助。另外,你在使用什麼編譯器? – cake 2010-05-27 21:04:36
我正在使用VS2008,錯誤太長髮帖 – LoudNPossiblyWrong 2010-05-27 21:07:32
VS2008不支持'auto',移動到VS2010或GCC 4.4/4.5。 – AraK 2010-05-27 21:09:05