0

I am going to write some class for test like following files. I get some errors when I compile those files: I call inherited function via derived class. but the compiler says that undefined reference to 'Base<someStruct>::func()'.

I get this error where I try to call inherited member function actually.

the base class and derived class are in the same file. why I get this error?

//tool.h
template <class Addr>
struct Base {
...
public:
    bool func();
...
}

class Tool : public Base<struct someStruct> {
...
public:
    int func1();
...
}

and the following is implementation file.

//tool.cpp
#include "tool.h"

template <class Addr>
bool Base<Addr>::func()
{
    ...
}

int Tool::func1()
{
}

the main is here:

//test.c
#include "tool.h"

int main()
{
    Tool tool;

    tool.func();  //error is here;
}
umbreLLaJYL
  • 185
  • 1
  • 10

0 Answers0