"A"之前的预期构造函数、析构函数或类型转换
expected constructor, destructor, or type conversion before "A"
template <typename T>
class A {
class B {
typedef int INT;
INT func(double e) {
return INT(e * 3.6);
}
};
};
我的问题是从类声明中删除func
函数的定义。这是我的程序的简化情况。编译器报错typedef.
这是我的尝试:
template <typename T>
A<T>::B::INT A<T>::B::func(double e) {
return INT(e * 3.6);
}
编译错误是main.cpp:14: error: expected constructor, destructor, or type conversion before "A".
g++ 4.7直接指出了这个问题:
$ g++ 3.cpp
3.cpp:12:1: error: need 'typename' before 'A<T>::B::INT' because 'A<T>::B' is a dependent scope
:
template <typename T>
typename A<T>::B::INT A<T>::B::func(double e) {
// ^^^^^^^^
return INT(e * 3.6);
}
相关文章:
- LINUX 操作系统上的错误:令牌之前预期的构造函数、析构函数或类型转换'('?
- 错误 c++ 在令牌之前'('预期的构造函数、析构函数或类型转换
- 错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换.即使我有一个构造函数
- 获取错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换
- 如何销毁通过"放置新"构造的无析构函数类型
- 错误:令牌之前的预期构造函数、析构函数或类型转换'*'
- 不同的析构函数类型
- 字符串常量之前的预期构造函数、析构函数或类型转换
- 需要构造函数/析构函数/类型转换错误
- C++模板错误:'<'令牌之前的预期构造函数、析构函数或类型转换
- 错误:在非常简单的示例中,预期的构造函数、析构函数或类型转换
- 错误:'<'令牌之前的预期构造函数、析构函数、类型转换
- 令牌之前的预期构造函数、析构函数或类型转换'*'
- 错误:标记之前的预期构造函数、析构函数或类型转换?
- 错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换
- C++ 错误:令牌之前的预期构造函数、析构函数或类型转换'*'
- C++ 错误:在“(”标记之前进行预期的构造函数、析构函数或类型转换
- 预期的构造函数、析构函数或类型转换
- 不稳定的声明行为:Rational.h:25:错误:在"&"标记之前预期的构造函数、析构函数或类型转换
- 编译时错误:期望的构造函数、析构函数或转换