【发布时间】:2021-09-14 13:20:12
【问题描述】:
我正在学习 c++,并且正在使用模板。当我在带有模板的头文件中声明函数并在cpp中实现它时,它一直说"undefined reference to void do_something<SomeEnum>()"
.h 文件:
enum SomeEnum {
Yes,
No,
Maybe
};
template<SomeEnum someEnum>
void do_something();
void do_something();
.cpp 文件:
#include "test.h"
#include "stdio.h"
template<SomeEnum someEnum>
void do_something() {
printf("%d\n", someEnum);
}
void do_something() {
printf("...\n");
}
主文件:
...main function
do_something(); // no error
do_something<Yes>(); // thrown an error
【问题讨论】: