【问题标题】:XCode C Compiler Error Expected member name or ';' after declaration specifiers Expected ')' [closed]XCode C 编译器错误预期的成员名称或';'在声明说明符之后预期')' [关闭]
【发布时间】:2016-03-23 23:46:03
【问题描述】:

我正在尝试编译 C 代码并将其与 Objective-C 和 Swift 集成。 C 代码是 ImageMagick 库。

typedef struct _ChannelMoments
{
  double
    I[32];

  PointInfo
    centroid,
    ellipse_axis;

  double
    ellipse_angle,
    ellipse_eccentricity,
    ellipse_intensity;
} ChannelMoments;

错误在第 I[32] 行; 预期的成员名称或“;”声明说明符后应为 ')'

这是问题的两张照片

【问题讨论】:

  • 不要发布代码图片!以文字形式发布!
  • 在我看来,该图像信息量更大、更完整,而且易于查看和粘贴。
  • 查看网站规则!从图像中粘贴文本并不是真正“简单”。
  • 确实如此。但我的理由只是我必须指定错误发生的位置,而且上下文很难捕捉。
  • 看,我不会再讨论这个了。关键是,这个网站有一些必须遵守的规则。如果你不同意,这是你的问题。打开一个元并尝试更改这些规则。但在那之前:将文本作为文本发布! Afaik 复制/粘贴也适用于具有 4 个按键的 Mac。

标签: objective-c c xcode compiler-errors


【解决方案1】:

我看不出那条线有什么问题,但当然,我看不到全貌。有几件事可以尝试:

  • 删除doubleI 之间的所有内容,只插入一个 空间,看看是否有任何改变。
  • 将 I 重命名为其他名称,例如JUNK,看看这个错误是否发生 离开。不过,可能会出现其他错误。有可能的 I#defined 在某处以某种奇怪的方式出现。
  • PointInfo 更改为其他类型,例如int。再次,这将 在别处打破代码,但这是一个测试,看看PointInfo 是否 问题。

一个警告:如果你试图将 C 与 Swift 集成,你可能会遇到比这个更有趣的问题。祝你好运。

【讨论】:

  • 我已经尝试了所有三个,并且在每个之间都进行了清理和构建,但感谢您的尝试
  • 其实,重命名我是可行的。将“I”更改为“test”或“a”允许它编译,并且代码的其他部分似乎不会尝试引用它或其他东西。
猜你喜欢
  • 2015-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多