【发布时间】:2015-11-22 09:39:23
【问题描述】:
我有以下代码,但不知道如何调用 AMethod() 函数。谁能帮我这个? 谢谢你
template<>
class AClass < std::shared_ptr<AnObject> >
{
public:
std::shared_ptr<AnObject> AMethod() const
{
//DoStuff
return std::make_shared<AnObject>(x);
}
};
我尝试了类似的方法,但没有成功:
AClass < std::shared_ptr<AnObject> > instance();
std::shared_ptr<AnObject> result = instance.AMethod();
我在实例的第二行收到“错误:表达式必须具有类类型”。
【问题讨论】:
-
你需要一些实例来调用它的方法。你的问题太宽泛,或者说不清楚,你真的需要花几天时间在Programming in C++上阅读整本书;我们无法在几段的回答中教你。
-
这就是我的想法,我尝试了以下方法,但没有成功:AClass > instance(); std::shared_ptr
结果 = instance.AMethod(); -
请编辑您自己的问题,不要评论它。把cmets留给别人
-
C++11(感谢
auto)和旧版本的标准有所不同。 -
为什么不起作用?给出编译器的错误信息。顺便说一句,您的问题在您第一次编辑后仍然不清楚,您最好给出一个独立的小例子,并说明
AClass模板到底是什么。