私の機能に問題があります。私はそれが構造体の配列を返すように見えることはできません。私の構造体をC++、OPENGLの配列として返します
struct Vertex
{
glm::vec3 p;
glm::vec3 c;
};
class CMyApp
{
public:
CMyApp(void);
~CMyApp(void);
Vertex[] DrawCircle(int cx, int cy);
...
それはDrawCircleを強調し、 " ';' を期待":
はここMyApp.hヘッダファイルです。 ";" 期待されるため、関数名のDrawCircleの下にここに
Vertex[] CMyApp::DrawCircle(int cx, int cy) {
Vertex result[42];
result[0] = { glm::vec3((float)cx, (float)cy, 0.0), glm::normalize(glm::vec3(0, 0, 1)) };
for (int ii = 1; ii < 21; ii++) {
float theta = 2.0f * 3.1415926f * float(ii)/float(20);
float x = 0.5 * cosf(theta);
float y = 0.5 * sinf(theta);
result[ii].p = glm::vec3(x, y, 0.0);
result[ii].c = glm::normalize(result[ii].p);
}
result[21] = { glm::vec3((float)cx, (float)cy, 2.0), glm::normalize(glm::vec3(0, 0, 1.0)) };
for (int ii = 22; ii < 42; ii++) {
float theta = 2.0f * 3.1415926f * float(ii)/float(20);
float x = 0.5 * cosf(theta);
float y = 0.5 * sinf(theta);
result[ii].p = glm::vec3(x, y, 2.0);
result[ii].c = glm::normalize(result[ii].p);
}
return result;
}
同じ下線:
は、ここで(もちろん、ヘッダを含む)MyApp.cppです。
私は配列のマークを削除する場合、唯一のエラーはreturn文です。私は配列thoとして戻ってみたい。
ありがとうございました。
パラメータ 'vertex * function(int&length)'でポインタを使用し、長さをフィードバックするか、answerで説明したstd :: vectorを使用してください。 – Tokenyet