0

私はC++が初めてです。「ベクター」でいくつかの値を出力したい。

vector<GLubyte> m_coneIndices;
m_coneIndices.resize(m_bodyIndexCount + m_diskIndexCount);
vector<GLubyte>::iterator index = m_coneIndices.begin();

// Body triangles
for (int i = 0; i < coneSlices * 2; i += 2) {
    *index++ = i;
    *index++ = (i + 1) % (2 * coneSlices);
    *index++ = (i + 3) % (2 * coneSlices);
}


// Disk triangles
for (int i = 1; i < coneSlices * 2 + 1; i += 2) {
    *index++ = diskCenterIndex;
    *index++ = i;
    *index++ = (i + 2) % (2 * coneSlices);
}

これは、「ベクトル」に格納された値です。のようにしてみました

cout << "indices"<< "\n";

for (int i=0; i<(coneSlices * 2 ); i+=2) {

    cout << m_coneIndices[i] << ' ' << m_coneIndices[i+1] << ' ' << m_coneIndices[i+2] << ' ' << "\n";
}

そして、いくつかのガベージ値を出力しました。このコードの何が問題なのか教えてください。

4

2 に答える 2

0

私は正しくやっていた。コードを変更しました

for (int i=0; i<(coneSlices * 2 ); i+=2) {

     printf("%d ",(int)m_coneIndices[i]);
}

そしてそれはうまくいきました。

于 2013-04-07T11:23:37.983 に答える