编辑:确实(*it)->print()
有效。对于误导性信息,我们深表歉意。当我写这个问题时,我以为我尝试了所有可能性。最后一个,即使我不会尝试,对我来说似乎是错误的 - 指向指针的指针..
谢谢你的时间,这是一个新手的错误,但它让我看到了光明!
一周前我开始了一个小项目。在我有这段代码之前,一切都很顺利,在this->_items
哪里std::vector<CItem*> _items;
std::vector<CItem*>::iterator it;
for ( it = this->_items.begin(); it != this->_items.end(); ++it)
{
//MUST use .print() for each Item.
//so:
//it->print() - nope
//(*it).print() -nope - same thing.. STILL!!! What's the problem?
//it.print() - maybe?
//(*it)->print() - come onn!!
}
好的..所以它没有工作。在对 std::vector 做了一些研究之后,我意识到是的,那是一个模板。让我们做一个模板。我确实做到了。头文件和实现在一个大文件中,无处不在..但项目开始中断。
在将 Class 转换为 Template 之后,它也不起作用。所以我开始template <typename T>
到处添加,直到红线消失。它不是。
以下是我所做的更改:https ://github.com/screws0ft/ubisoft/commit/1b2bd6f9d5d66fcc9315f7a03cc71a2d6f64d57e
那么问题出在哪里?有人可以帮我吗?
欣赏它!