このコードが失敗する理由
エラー C2893: 関数テンプレート ''unknown-type' makeAndProcessObject(const Builder &)' の特殊化に失敗しました
私はMSVC2012を使用しています
class BBuilder
{
public:
int makeObject()
{
return 22;
}
};
template <typename Builder>
auto
makeAndProcessObject (const Builder& builder) -> decltype( builder.makeObject() )
{
auto val = builder.makeObject();
// do stuff with val
return val;
}
int main()
{
BBuilder myobj;
auto retval = makeAndProcessObject(myobj);
return 0;
}
(実例)