我创建了一个类,并在 Functions.h
header 中有一些外部方法(认为这就是问题所在)。无论如何,每当我尝试在类实现文件中使用任何类型的 C 风格函数时;即使是空白的,我也会收到编译器/类似错误。我对此很陌生,不明白问题出在哪里。我想我不能使用 .h
文件,但我可以在类文件中使用全局变量和指令。
我应该在哪里声明我的外部函数?在什么样的文件中?
最佳答案
我的猜测是您在头文件中完全定义了函数(包括实现),并包含了来自多个源文件的函数;并且您忘记描述的错误说明了“多重定义”或“重复符号”:
// Header file
void some_function() {
// do some stuff
}
如果是这种情况,您需要或者将定义移动到源文件中,只在 header 中保留声明,因此它们只有一个定义:
// Header file
void some_function();
// Source file
void some_function() {
// do some stuff
}
或声明内联
定义,这允许它们包含在多个源文件中:
// Header file
inline void some_function() {
// do some stuff
}
如果这不是问题所在,请发布一些示例代码和错误消息,这样我们就不必猜测发生了什么。
关于c++ - Objective-C 错误 : C style method inside Class implementation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15393233/