Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用整数作为模板参数时出现编译器错误_C++_Templates_Dependent Name - Fatal编程技术网

C++ 使用整数作为模板参数时出现编译器错误

C++ 使用整数作为模板参数时出现编译器错误,c++,templates,dependent-name,C++,Templates,Dependent Name,下面的代码有什么问题 template<typename X> struct A { template<int N> int foo() const { return N; } }; template<typename X> struct B { int bar(const A<X>& v) { return v

下面的代码有什么问题

template<typename X>
struct A {
        template<int N>
        int foo() const {
                return N;
        }
};

template<typename X>
struct B {
        int bar(const A<X>& v) {
                return v.foo<13>();
        }
};

#include <iostream>
using std::cout;
using std::endl;

int main() {
        A<double> a;
        B<double> b;
        cout << b.bar(a) << endl;
        return 0;
}
模板
结构A{
模板
int foo()常量{
返回N;
}
};
模板
结构B{
内部条形图(常数A&v){
return v.foo();
}
};
#包括
使用std::cout;
使用std::endl;
int main(){
A A;
B B;
cout更改
return v.foo();
return v.template foo();
,因为
foo
是一个依赖名称,您需要明确指出,使用
.template
构造时可能会重复