C++:返回指向模板子类的指针
做这样的事情的语法是什么?当我尝试编译下面的代码时,它告诉我 a ';'应该在“*”
之前,指向函数的返回类型,ResourceManager
。
template<class T>
class ResourceManager
{
private:
struct ResourceWrapper;
ResourceWrapper* pushNewResource(const std::string& file);
};
// (Definition of ResourceWrapper not shown.)
template <class T>
ResourceManager<T>::ResourceWrapper* ResourceManager<T>::pushNewResource(
const std::string& file)
{
// (Irrelevant details)
}
What is the syntax for doing something like this? When I try to compile the code below it tells me that a ';' was expected before '*'
, pointing to the return type of the function, ResourceManager<T>::ResourceWrapper*
.
template<class T>
class ResourceManager
{
private:
struct ResourceWrapper;
ResourceWrapper* pushNewResource(const std::string& file);
};
// (Definition of ResourceWrapper not shown.)
template <class T>
ResourceManager<T>::ResourceWrapper* ResourceManager<T>::pushNewResource(
const std::string& file)
{
// (Irrelevant details)
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您缺少
typename
关键字。请参阅此问题,了解有关为什么需要typename
的更多详细信息。这段代码应该编译:You are missing the
typename
keyword. See this question for more details on whytypename
is required. This code should compile: