我最近开始在 C++ 中开发一个解释器,但我很恼火,无论我尝试什么,向量或数组都无法传递给外部类方法,所以我删除了我所做的所有工作。事实证明,我什至不能将int传递给另一个类。在求助于 C 或 Java 之前,我决定再给 C++ 一次机会,但编译器仍然不能像我预期的那样工作。也许我忘记了关于 C++ 的一些简单的东西,因为我有一段时间没有使用它了,但这似乎很简单。我的问题是:当它们没有在同一个文件中定义时,我不能将参数传递给其他类中的方法。这是我正在尝试做的事情:
主要:main.cpp
#include "myclass.h"
int main() {
MyClass test;
int n = test.add(25, 30);
return n;
}
头文件:myclass.h
class MyClass {
public:
int add(int a, int b);
};
类实现:myclass.cpp
#include "myclass.h"
int MyClass::add(int a, int b) {
return a + b;
}
g++ main.cpp
用产量编译它
/tmp/ccAZr6EY.o:在函数
main': main.cpp:(.text+0x1a): undefined reference to
MyClass::add(int, int)' collect2:错误:ld 返回 1 退出状态
我到底做错了什么?此外,即使我的函数没有参数化,编译器也会因为同样的事情对我大喊大叫,所以它一定是标题的问题。
非常感谢任何帮助 - 谢谢!