atm我试图编写一个rubics多维数据集,但我无法让它运行起来。 所以我得到了我的班级,名为" littlecube"。它得到了一个顶点数组(每边4个* 6个边)。数组已经填充了正确的值。所以我想象一下rubics立方体的每个立方体作为一个有24个顶点的对象。是否有另一种方法来声明cpp文件中的三个浮点数?想到立方体作为对象。就像在java或c#中一样。说实话,我是C ++中的一个大菜鸟。
littleCube.h:
#pragma once
class littleCube
{
public:
littleCube(void);
littleCube(const int positionX,const int positionY,const int positionZ);
~littleCube(void);
void calculateVertices(void);
void rotateVertical(const float rotationAngle);
void rotateHorizontal(const float rotationAngle);
void printLittleCube(void);
void printPosition(void);
void printRotation(void);
void printVertices(void);
float* getMyVertices(void);
};
littleCube.cpp:
#include "littleCube.h"
#include <iostream>
#include <math.h>
//Position of each Cube
float f_myPosition[4];
//Rotation of each Cube
float f_myRotation[4][4];
//All Vertices of a cube
float f_myVertices[24][3];
using namespace std;
//default constructor
littleCube::littleCube(void)
{
}
float* littleCube::getMyVertices(void)
{
return &f_myVertices[0][0];
}
之后我创建了一个三维的littleCubes数组,我想访问每个立方体的顶点字段。
#include "littleCube.h"
typedef struct BasicVertex
{
float position[3];
uint32_t color;
} BasicVertex;
static BasicVertex *s_basicVertices= NULL;
littleCube bigCube[3][3][3];
int main( void )
{
for(int x = 0; x < 3; x++)
{
for(int y = 0; y < 3; y++)
{
for(int z = 0; z < 3; z++)
{
bigCube[x][y][z] = littleCube::littleCube(x+1,y+1,z+1);
}
}
}
createGmxData();
}
因此,在以下代码中,我在以下行收到错误:
&#34; s_basicVertices [i] .position [0] =&amp; pointer [cubeVertices] [0];&#34;
void createGxmData( void )
{
s_basicVertices = (BasicVertex *)graphicsAlloc( ..., numVertices * 6 *sizeof(BasicVertex), 4, ..., ...);
int x,y,z,i = 0;
while(true)
{
float* pointer = bigCube[x][y][z].getMyVertices();
for(int cubeVertices = 0; cubeVertices < 24; cubeVertices++)
{
s_basicVertices[i].position[0] = &pointer[cubeVertices][0]; //x
s_basicVertices[i].position[1] = &pointer[cubeVertices][1]; //y
s_basicVertices[i].position[2] = &pointer[cubeVertices][2]; //z
i++;
}
z++;
if(z == 3)
{
z = 0;
y++;
if( y == 3)
{
y = 0;
x++;
if( x == 3)
break;
}
}
}
}
我现在遇到的问题是&#34;错误143:表达式必须具有指针对象类型&#34;而且我不知道为什么。以为我现在有一个指向每个立方体的f_myVertices的指针。
我没有显示整个代码的原因是它是psVita的开发工具包,如果我允许显示代码,我不会感到害羞。< / p>
非常感谢 本