C++でプログラミングを始めたばかりです。
Pointクラス、std :: list、および次のようなイテレータを作成しました。
class Point {
public:
int x, y;
Point(int x1, int y1)
{
x = x1;
y = y1;
}
};
std::list <Point> pointList;
std::list <Point>::iterator iter;
次に、新しいポイントをpointListにプッシュします。
ここで、pointList内のすべてのポイントを反復処理する必要があるため、イテレーターを使用してループする必要があります。これは私がめちゃくちゃになるところです。
for(iter = pointList.begin(); iter != pointList.end(); iter++)
{
Point currentPoint = *iter;
glVertex2i(currentPoint.x, currentPoint.y);
}
アップデート
あなたたちは正しかった、問題は私のリストを繰り返すことではない。問題は、リストに何かをプッシュしようとしているときのようです。
正確なエラー:
mouse.cpp:ファンクション
void mouseHandler(int, int, int, int)': mouse.cpp:59: error: conversion from
ポイント*'から非スカラータイプの`ポイント'が要求されました
それらの行は次のとおりです。
if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
{
Point currentPoint = new Point(x, y);
pointList.push_front(currentPoint);
}
Point *から非スカラータイプのPointへの変換は何ですか?新しいポイントを作成して、ここのリストにプッシュしようとしています。