#include <iostream>
template <size_t N>
struct Hanoi
{
template <char From, char Assist, char To>
static void Result()
{
Hanoi<N - 1>::Result<From, To, Assist>();
std::cout << From << " -> " << To << std::endl;
Hanoi<N - 1>::Result<Assist, From, To>();
}
};
template <>
struct Hanoi<1>
{
template <char From, char Assist, char To>
static void Result()
{
std::cout << From << " -> " << To << std::endl;
}
};
int main()
{
Hanoi<4>::Result<'A', 'B', 'C'>();
return 0;
}
百度没有格式的话 请看图片:


为什么 给成员函数 加模板参数 就不对呢?
把4个参数 都给类就没有问题.
请大家指点! 拜谢.
template <size_t N>
struct Hanoi
{
template <char From, char Assist, char To>
static void Result()
{
Hanoi<N - 1>::Result<From, To, Assist>();
std::cout << From << " -> " << To << std::endl;
Hanoi<N - 1>::Result<Assist, From, To>();
}
};
template <>
struct Hanoi<1>
{
template <char From, char Assist, char To>
static void Result()
{
std::cout << From << " -> " << To << std::endl;
}
};
int main()
{
Hanoi<4>::Result<'A', 'B', 'C'>();
return 0;
}
百度没有格式的话 请看图片:


为什么 给成员函数 加模板参数 就不对呢?
把4个参数 都给类就没有问题.
请大家指点! 拜谢.
