我想从类调用函数,但它显示错误。 我的测试.cxx 文件是
#include<iostream>
#include"Scalar.hxx"
using namespace std;
int main()
{
Scalar Text;
char a;
a=Text.SetBank(1);
cout<<("%x",a);
return 0;
}
它向我显示错误
undefined reference to `Scalar::Scalar()'
undefined reference to `Scalar::SetBank(char)'
标量.hxx
#ifndef __SCALAR_HXX__
#define __SCALAR_HXX__
#include <stdint.h>
class Scalar
{
public:
Scalar(void);
char SetBank(char bank_no);
};
#endif
我包含了正确的文件名。
我认为这本身并不是编译器错误。编译器找到定义很好,但链接器找不到包含Scalar
编译代码的目标文件,因此抱怨。
我还评论说,请求更多数据来帮助您解决此问题。
Scalar.hxx 为Scalar
和SetBank
方法提供了声明,但我看不到任何定义。是否有Scalar.cxx
包含如下代码的文件?
Scalar::Scalar() {
// ctor's body
}
char Scalar::SetBank(char bank_no) {
// method's body
}
如果有,那么它会被编译(即,包含在你的项目/制作文件中(?