首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Scalar::Scalar()的引用未定义

对Scalar::Scalar()的引用未定义
EN

Stack Overflow用户
提问于 2020-02-13 14:50:27
回答 2查看 50关注 0票数 0

我想从类中调用函数,但它显示了错误。我的test.cxx文件是

代码语言:javascript
复制
#include<iostream>
#include"Scalar.hxx"
using namespace std;
int main()
{
    Scalar Text;
    char a;
    a=Text.SetBank(1);
    cout<<("%x",a);
    return 0;
    }

它会显示错误

代码语言:javascript
复制
undefined reference to `Scalar::Scalar()'
undefined reference to `Scalar::SetBank(char)'

Scalar.hxx

代码语言:javascript
复制
#ifndef __SCALAR_HXX__
#define __SCALAR_HXX__
#include <stdint.h>
class Scalar
{
    public:
        Scalar(void);
        char SetBank(char bank_no);
};
#endif

我已经包含了正确的文件名。

EN

回答 2

Stack Overflow用户

发布于 2020-02-13 14:59:04

我不认为这本身就是一个编译器错误。编译器可以很好地找到定义,但是您的链接器找不到包含Scalar编译代码的目标文件,因此出现了错误。

我还评论了请求更多的数据来帮助你解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2020-02-13 15:10:32

Scalar.hxx为ScalarSetBank方法提供了声明,但我没有看到定义。有没有包含如下代码的Scalar.cxx文件?

代码语言:javascript
复制
Scalar::Scalar() {
    // ctor's body
}

char Scalar::SetBank(char bank_no) {
    // method's body
}

如果有,那么它会被编译(即,包含在你的项目/makefile中)吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60201992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档