”之前的预期说明符限定符列表错误“我正在尝试编写一些代码来优化我正在编写的程序的某些Open GL函数,不幸的是,我不完全是C或C++老手,但这就是我为什么要做这个项目的一部分!错误“结构构造函数
所以我创建一个结构来处理3×3的矩阵,我定义结构如下:
#ifndef MATRIX3BY3_H
#define MATRIX3BY3_H
struct Matrix3by3
{
float ix, jx, kx;
float iy, jy, ky;
float iz, jz, kz;
Matrix3by3() {}
Matrix3by3(const Matrix3by3 &matrix)
{
ix = matrix.ix;
jx = matrix.jx;
kx = matrix.kx;
iy = matrix.iy;
jy = matrix.jy;
ky = matrix.ky;
iz = matrix.iz;
jz = matrix.jz;
kz = matrix.kz;
}
Matrix3by3 (const float _ix, const float _jx, const float _kx,
const float _iy, const float _jy, const float _ky,
const float _iz, const float _jz, const float _kz) :
ix(_ix), jx(_jx), kx(_kx),
iy(_iy), jy(_jy), ky(_ky),
iy(_iz), jx(_jz), kz(_kz) {}
};
#endif
而我得到的错误(两次)
预期说明符qualifier-列表 之前'Matrix3by3'
在第一个构造函数的行上。我试图四处寻找答案,似乎它不知道这是一种类型的编译器。所以,我曾尝试以下,我会去掉内脏为简洁:
typedef struct Matrix3by3 { ... };
struct Matrix3by3 { struct Matrix3by3() {} ... };
struct Matrix3by3 { ... } Matrix3by3;
typdef struct Matrix3by3;
struct Matrix3by3 { ... };
哪些是被认为博客上的所有解决方案和我看到这个错误的文章。我也看到它可能是由于循环依赖引起的,但是这个文件没有包含任何其他内容,并且我甚至删除了它们,只是为了不时确定 - 没有变化。
我可以在Objective-C类中写这个,我相信,但它可能需要更多的内存和周期,这正是我想要避免的。我唯一能想到的就是我默认设置的一些编译器/项目设置,这使得我不能使用这种类型的结构。完全可能,因为我正在学习语言/环境。
任何人可以提供一些帮助吗?
谢谢!
啊,是的,我看到了这些错误。当我把这件事抛出去的时候,已经有一段时间了。事情是,当我看到iPhone开发的例子时,我在其他多个地方看到过这种类型的东西。所以我不确定它为什么在那里工作(甚至在直接下载的例子中),但不适合我。我认为这是xcode中的一些编译器/项目设置,但我不确定是什么。或者我错过了分号错误的结构等效 – Kevek 2010-12-07 12:57:22