2004-09-24から1日間の記事一覧

続:関数のオーバーロードと関数テンプレートの特殊化

となると template<class T> void f(T); // A template<class T> void f(T*); // B template<> void f<int>(int*); // C int i; f(&i); // Cが呼ばれるtemplate<class T> void f(T); // A template<class T> void f(T*); // B template<> void f<int*>(int*); // C int i; f(&i); // Bが呼ばれる当然こうなる</int*></class></class></int></class></class>…

関数のオーバーロードと関数テンプレートの特殊化

#include <iostream> template<class T> void f(T t) { std::cout << "A" << std::endl; } template<class T> void f(T *p) { std::cout << "B" << std::endl; } template<> void f<>(int *p) { std::cout << "C" << std::endl; } int main() { int i; f(&i); }「さて,どのfが呼ばれるで</class></class></iostream>…