未定义的引用

时间:2013-02-21 02:13:41

标签: c++ undefined

这是我的tripe.cpp代码

//tripe.cpp

#include <iostream>
#include <string>
#include <functional>
#include "tripe.h"
#include <sstream>
#include <fstream>


using namespace std;

Tripe::Tripe()
{
    trie = new Trie();
    heap = NULL;
}

这是我的trie.h:

//trie.h

#ifndef TRIE_H
#define TRIE_H

#include <string>
#include "heapNode.h"
#include "trienode.h"


class Trie
{
    Tnode* root_node;
    public:
        Trie();
        ~Trie();

编译器说:  在函数Tripe::Tripe()': tripe.cpp:(.text+0x20): undefined reference to Trie :: Trie()'

怎么没有明确定义?我把头文件包括在内!

2 个答案:

答案 0 :(得分:2)

如果你有一个trie.cpp文件,它实际上定义了构造函数Trie(),那么你需要编译该文件并将其与你的应用程序链接。

答案 1 :(得分:1)

这是链接器错误。你有这个构造函数的定义(not just a declaration)吗?