Это немного странно для меня.
У меня есть указатель на член класса (mGeometry
), который, в свою очередь, содержит указатель на QList< GLushort >
член данных (mFaces
). Я пытаюсь получить индекс mFaces через класс Cube
.
Итак, более упрощенная версия будет выглядеть так:
struct Geometry
{
Geometry( void );
~Geometry( void );
void someFunc( void );
QList< GLushort > *mFaces;
};
class Cube
{
public:
Cube( void );
~Cube( void );
void anotherFunc( void );
Geometry *mGeometry;
};
Скажем, в anotherFunc
мы пытаемся сделать следующее:
GLushort *indeces = new GLushort;
*indeces = ( *mGeometry ).mFaces[ 0 ];
Error (s)
error: cannot convert ‘QList<short unsigned int>’ to ‘GLushort {aka short unsigned int}’ in assignment
Итак, мы попробуем:
*indeces = mGeometry->( *mFaces )[ 0 ]; //which, is originally how I've accessed pointers-to-containers' indexes.
Error (s)
error: expected unqualified-id before ‘(’ token
error: ‘mFaces’ was not declared in this scope
И, конечно же, очевидное:
*indeces = mGeometry->mFaces[ 0 ];
Error (s)
error: cannot convert ‘QList<short unsigned int>’ to ‘GLushort {aka short unsigned int}’ in assignment
Конструктор для геометрии
Geometry::Geometry( void )
: mFaces( new QList< GLushort > )
{
}
Что-то не так я здесь делаю? Если нет, то какой метод является правильным для получения индекса указателя на mFaces
?