由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - where to define my template function
相关主题
templateC++ question about template typedef
One c++ non-type template questiontemplate 类的继承问题
C++ class template specialization questionvector::iterator不对
请教一下这个template function在gcc下要怎么修改[合集] Effecive c++ 真那么好? (转载)
boost::function 的 syntax 问题模板对象能不能作为成员变量使用
一个C++ template的问题C++ template
C++ template problema c++ question
thrust help ~~~谁给详细说一下这句
相关话题的讨论汇总
话题: myfunc话题: vector话题: std话题: funcb话题: template
进入Programming版参与讨论
1 (共1页)
S*******s
发帖数: 13043
1
in my project, I have following 3 files
//t.h
#include
template
myFunc (std::vector& var){
....
}
//a.cpp
#include "t.h"
void funcA(){
std::vector a;
std::vector b;
myFunc(a);
myFunc(b);
}
void funcB();
int main(){
funcA();
funcB();
}
//b.cpp
#include "t.h"
void funcB(){
std::vector a;
std::vector b;
myFunc(a);
myFunc(b);
}
if I build it, I'll get an error that myFunc(std::vector&) defined
twice.
if I manage them in di
q*****g
发帖数: 72
2
myFunc included twice
put #ifndefine at t.h

【在 S*******s 的大作中提到】
: in my project, I have following 3 files
: //t.h
: #include
: template
: myFunc (std::vector& var){
: ....
: }
: //a.cpp
: #include "t.h"
: void funcA(){

t****t
发帖数: 6806
3
好象不是这个原因,OP用的什么编译器?
理论上说,template function可以定义多次的

【在 q*****g 的大作中提到】
: myFunc included twice
: put #ifndefine at t.h

S*******s
发帖数: 13043
4
hehe, not related to compilor ba.
when a.cpp is compiled, myFunc(vector) is generated in a.obj
when b.cpp is compiled, myFunc(vector) is generated in b.obj
when these two obj get linked, same function definition colided.

【在 t****t 的大作中提到】
: 好象不是这个原因,OP用的什么编译器?
: 理论上说,template function可以定义多次的

S*******s
发帖数: 13043
5
then, seems a static will do? let me try try.

【在 S*******s 的大作中提到】
: hehe, not related to compilor ba.
: when a.cpp is compiled, myFunc(vector) is generated in a.obj
: when b.cpp is compiled, myFunc(vector) is generated in b.obj
: when these two obj get linked, same function definition colided.

t****t
发帖数: 6806
6
我说了,template 可以被定义多次的。不需要one definition rule.

【在 S*******s 的大作中提到】
: hehe, not related to compilor ba.
: when a.cpp is compiled, myFunc(vector) is generated in a.obj
: when b.cpp is compiled, myFunc(vector) is generated in b.obj
: when these two obj get linked, same function definition colided.

1 (共1页)
进入Programming版参与讨论
相关主题
谁给详细说一下这句boost::function 的 syntax 问题
Interview question - use a STL vector object as an argument of function.一个C++ template的问题
模板类中的一个类型问题?C++ template problem
请教一个关于std::function的问题thrust help ~~~
templateC++ question about template typedef
One c++ non-type template questiontemplate 类的继承问题
C++ class template specialization questionvector::iterator不对
请教一下这个template function在gcc下要怎么修改[合集] Effecive c++ 真那么好? (转载)
相关话题的讨论汇总
话题: myfunc话题: vector话题: std话题: funcb话题: template