小编lin*_*erd的帖子

C++迭代器运算符优先级问题*it.method()vs(*it).method()vs it-> method()

此代码将无法编译:

for(vector<Box>::iterator it = shapes.end(); it >= shapes.begin(); --it){
    *it.update(1,1);
    *it.draw();
}
Run Code Online (Sandbox Code Playgroud)

它声称:

main.cpp:80:17: error: ‘std::vector<Box>::iterator’ has no member named ‘update’
main.cpp:81:17: error: ‘std::vector<Box>::iterator’ has no member named ‘draw’
Run Code Online (Sandbox Code Playgroud)

但是AFAIK,那个代码没有尝试调用vector :: iterator.draw(),它取消引用迭代器,它应该给我一个我的类框的对象,它有这些方法.我做错了什么,抱歉这个糟糕的头衔.

c++ iterator

2
推荐指数
1
解决办法
157
查看次数

标签 统计

c++ ×1

iterator ×1