【发布时间】:2014-02-26 16:27:51
【问题描述】:
这快把我逼疯了。
我在 foo.h 文件中有一个 C++ 类声明。
class foo // error marks are here
{
};
当我在我的 fooUser.mm 文件中#include/#import 这个头文件时,它会编译。当我在我的 fooUser.h 文件中执行 #include/#import 时,它不会,并且编译器错误是。
Unknown type name 'class'; did you mean 'Class'?
Excpected ';' after top level declarator.
我正在使用 XCode 4.2,LLVM 编译器 3.0,...这应该很重要吗?
【问题讨论】:
-
“fooUser.h”是否包含在非 C++(或非 Objective-C++)文件中?
-
是的,目前只有我的 AppDelegate.h 导入 fooUser.h
-
@Merlevede:标头通常不需要导入其他标头
-
无论我如何调整,我都无法摆脱错误,我从 Apple (Cocoa_With_Carbon_or_CPP) 下载了一个示例,并比较了每个构建设置,但什么也没有。所以我所做的是创建一个新项目,添加一个虚拟的 'foo' C++ 类并且它起作用了,我从那里一点一点地建立起来,它仍然有效。但我仍然很困惑。要么我错过了一些非常愚蠢的事情,要么项目中的某些事情搞砸了。
-
@newacct 您说“标头通常不需要导入其他标头”-您从哪里获得 tyepdef、枚举等?