12

我的 iOS 应用程序正在运行,突然间我看到了这个错误:“不能与以前的 'type-name' 声明说明符结合”。关于可能导致此错误的任何想法?

#import "SalesAPIManager.h"

@interface SalesDelegate : NSObject { // error points to this line
    __unsafe_unretained id<SalesAPIManagerDelegate> delegate_;
}


@property (unsafe_unretained, nonatomic) id<SalesAPIManagerDelegate> delegate;


- (id)initWithDelegate:(id<SalesAPIManagerDelegate>)delegate;


@end
4

7 回答 7

22

同样,我在项目中的随机文件中有错字。这只是一些不小心放在评论前的纯文本。我的修复/查找建议是放一个 ; 就在被标记的语句之前。然后,当我编译时,这会向错误的文本发出警告。

于 2012-10-28T10:08:16.943 回答
5

这是 Xcode 的缺点之一。Xcode 是有史以来最糟糕的 IDE 之一,Apple 正在努力使其每次更新都变得更好。但是,当您在 Xcode 的编译器未查看的某些地方添加“某些单词”时,就会出现此问题。

我的情况如图所示:

在此处输入图像描述

我忘了删除 AppDelegate.h 中的 RESideMenu 这个词,奇怪的是 Xcode 在构建之前接受代码,当它触发错误时,它会在另一个不相关的类中发出它。

于 2014-04-01T18:22:02.443 回答
3

我有同样的问题。原来我的main.m文件中有错字。一旦我清除了它,这个错误就消失了。

于 2012-08-01T19:03:15.713 回答
2

当我的文件中有一些我忘记取出的不完整代码时,我看到了这个错误。编译器在返回类型的方法开头指出了错误,所以我花了很多时间查看方法声明和调用。结果发现错误的错字在方法之上。因为没有“;” 编译器只能告诉 void 关键字放错了位置。

于 2017-07-25T20:35:51.667 回答
1

我遇到同样的问题。在清理了 .h 文件底部的一些垃圾文本后,我终于修复了它。你可以试试。

于 2012-12-24T06:48:12.497 回答
0

我知道这已经很晚了,但是,我刚刚在我的 cpp Xcode 项目(第 31 行)中出现了这个错误,并且在我直接完成了它上面的字符串初始化之后它消失了(第 28 行)。我的代码如下: 不能与以前的“类型名称”声明说明符结合

string //STRING NEEDING INITIALIZATION


void AMPM() {
    
    if ((firstHourChar == 1) && (secondHourChar > 2)) {
        afterAM = true;
    }
}
于 2021-03-17T01:26:31.093 回答
0

我在头文件中得到它,而实际上错误在.cpp 中。原来我有一个方法试图以粗略的方式返回一个布尔值:

return (x == 1 && y == 2);

事实证明这不起作用,但 Xcode 以这种非常模糊的方式告诉我。

不确定这是否有帮助,但这是他们看似荒凉的另一个例子。

于 2017-06-17T06:50:40.380 回答