标题:[讨论]关于模板的分离编译
只看楼主
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
 问题点数:0 回复次数:2 
[讨论]关于模板的分离编译
最近在看 Bjarne 的<<the c++ programming language>>在有看了<<C++ primer>>的基础下还可以看的明白;
现在对模板的分离编译存有疑问,想请教一下大家。

//file.h

#include<iostream>
#include<string>
using namespace std;

template<typename T>bool Max(T left,T right);

//file.cpp

#include"file.h"

template<typename T>bool Max(T left,T right)//本来应该是export template<typename T>bool Max(T left,T right),但是我
{ //手头上的编译器 vc.net不支持export这个关键字
return (left>right);
}


// main.cpp;

#include"file.h"

int mian()
{
string s1("the c programming language");
string s2("the c++ programming language");
cout<<boolalpha;
cout<<Max(s1,s2)<<endl;
}

运行的时候会出现链接错误,是不能实例化模板的缘故。但是VC6.0跟VC.NET跟本就没有export这个关键字,各位手上的编译器可以支持 export吗,还有,关于这个问题怎样解决,谢谢大家了.
搜索更多相关主题的帖子: 模板 编译 
2006-01-27 21:37
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
得分:0 

dev 编译的时候好象说无视export,我也不明白,曾经做过一个非常简单的类模板,没加export编译通过了,可后来编译其他的模板时候却通不过,

现在是把定义放在头文件里了.


2006-01-28 14:09
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

你的问题我都试过。很奇怪的


c++/C + 汇编 = 天下无敌
2006-01-29 20:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-44114-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.088797 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved