以模板类的嵌套模板类为参数的函数

时间:2018-11-07 15:11:00

标签: c++ templates

有人可以向我解释为什么它不能编译以及我应该如何正确编写它?

#include <iostream>

using namespace std;

template <typename T>
struct Foo
{
    template <typename U>
    struct Bar
    {
    };
};

template <typename T, typename U>
void func(Foo<T>::Bar<U>& lhs)
{
    cout << "working" << endl;
}

int main()
{
    Foo<int>::Bar<char> a;
    func(a);

    return 0;
}

我收到以下编译器错误:

main.cpp:23:19: error: variable or field ‘func’ declared void  
void func(Foo<T>::Bar<U>& lhs)

0 个答案:

没有答案