gpt4 book ai didi

c++ - 未定义对 C++ 中已定义函数的引用?

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:44 25 4
gpt4 key购买 nike

我是 C++ 的新手,所以我需要一些帮助。这是代码:

根节点.h

#ifndef ROOTNODE_H
#define ROOTNODE_H


class RootNode
{
public:

int getNodeId();
void setNodeId(int i );

protected:
private:
int node_id;
};

#endif // ROOTNODE_H

根节点.cpp

class RootNode{
private:
int node_id;

RootNode()
{
//ctor
this->setNodeId(0);
}

void setNodeId(int i ){
node_id = i;
}

int getNodeId(){
return node_id;
}

~RootNode()
{
//dtor
}

};

main.cpp

#include <stdio.h>
#include <iostream>
#include "LeafNode.h"
#include "DecisionNode.h"
#include "RootNode.h"
using namespace std;


int main(int argc, const char* argv[]){
RootNode rootNode;
cout<<rootNode.getNodeId();




return 0;
};

当我尝试使用 g++ 编译时出现此错误:

$ g++ RootNode.cpp main.cpp
/tmp/ccylUcLS.o: In function `main':
main.cpp:(.text+0x17): undefined reference to `RootNode::getNodeId()'
collect2: error: ld returned 1 exit status

我在网上看过,但我真的不明白哪里出了问题。我也尝试过使用 CodeBlocks 进行构建,但没有用。

谢谢!

最佳答案

您的 .cpp 文件应如下所示:

#include "RootNode.h"

int RootNode::getNodeId()
{
// stuff
}

void RootNode::setNodeId(int i)
{
// stuff
}

关于c++ - 未定义对 C++ 中已定义函数的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36852748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com