数组中的 C++ 结构,帮助!

标签 c++ iphone objective-c arrays struct

我有一个 iPhone 应用程序,它曾经使用包含数千个小对象的数组作为其数据源。现在,我试图让它使用 C++ Structs,以提高性能。我已经编写了结构,并将其放在“Particle.h”中:

typedef struct{
   double changeX;
   double changeY;
   double x;
   double y;
}ParticleStruct;

然后,我导入“Particle.h”,并尝试定义数组:

#import "Particle.h"
@implementation ParticleDisplay
struct ParticleStruct particles[];   
///Size will be determined later, this declaration is to make 
 ////the declaration visible to the entire class...

然而,在这一行中,我收到错误:“数组类型具有不完整的元素类型”。 据我所知,其他一切都可以正常编译,而且我确信“Particle.h”已在声明之前导入。 有什么想法吗?

最佳答案

因为你已经有 typedef在 Particle.h 中编辑它,删除 struct 这个词来自数组声明行(错误所在的行)。

但是,

  • 在 C++ 中,您不需要 typedef就写struct Particle { /* members */ };

  • 为什么要声明一个没有长度的数组?考虑使用 std::vector ( tutorial ) 这是一个动态 可调整大小的数组(您永远不必为长度而烦恼)。很简单:std::vector< Particle > particles;

关于数组中的 C++ 结构,帮助!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887007/

相关文章:

iphone - NSManagedObject属性设置为nil返回0

android - 响应式网站在移动设备上缩放至 200%

ios - 当我在 swift webview 中单击共享按钮时重定向到 facebook 应用程序

ios - Sprite Kit 纹理尺寸/分辨率

ios - PresentViewController 不适用于动画 :NO

c++ - 直接调用函数与发出信号(Qt - 信号和槽)

c++ - Openssl RC4 vs C++ RC4(加盐)

objective-c - WebView : decidePolicyForNavigationAction: request: frame: decisionListener: called multiple times

c++ - 未解析的外部符号 __imp__glewInit VS __imp__glewInit@0

c++ - boost指针容器库可以用作线程安全容器集合吗?