| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 582 人关注过本帖
标题:[讨论]关于模板的分离编译
只看楼主 加入收藏
热情依然
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
快速回复:[讨论]关于模板的分离编译
数据加载中...
 
   



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

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