C++模板实例化问题
程序代码:
extern double foo(double); template<class TYPE> class ScopeRules { public: void test1() { _member=foo(_val); } TYPE test2() { return test1(_member); } private: int _val; TYPE _member; }; ScopeRuleS<int> s; s.test1(); 书中解释说在这里 程序中有两个函数实例 extern double foo(double); extern int foo(int); 我的问题: 1.foo的参数是double 传int没有问题 但是这么返回类型也变成int了? 2.foo又不是一个函数模板 他为什么会出现两个实例?