jensenlv 2004年12月24日
关于函数模板
1.文件common.h

#ifndef COMMON_H
#define COMMON_H

template <typename type>
void swap(type *a, type *b);

#endif

2.文件common.cpp

#include "common.h"

template <typename type>
void swap(type *a, type *b)
{
type temp;
temp = *a;
*a = *b;
*b = temp;
}

3.文件main.cpp

#include "common.h"

using namespace std;

int main(int argc, char *argv[])
{
int data[] = {9,6};
swap<int>(&data[0], &data[1]);
system("PAUSE");
return 0;
}


编译时老报错: [Linker error] undefined reference to `void swap<int>(int*, int*)'
请问大家:函数模板的定义和实现是不是不能分开?
谢谢了
...全文
107 点赞 收藏 11
写回复
11 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告