【发布时间】:2014-08-03 15:11:41
【问题描述】:
我正在尝试在同一类型结构中包含一个模板化的(类型结构的)typedef。编译器抱怨找不到 typedef 或结构,具体取决于我将它们放在头文件中的顺序。
示例 1(./RobotControl.h:25:23: 错误:“InputUpdate_S”未在此范围内声明)
class RobotControl
{
public:
SomeFunctions();
typedef Functor1<InputUpdate_S> InputUpdateFunctor_T;
struct InputUpdate_S
{
InputUpdateType_E UpdateType;
UInt8_T CoProcNum;
UInt8_T PinNum;
InputUpdateFunctor_T *callback;
};
};
Example2(错误:‘InputUpdateFunctor_T’没有命名类型)
class RobotControl
{
public:
SomeFunctions();
struct InputUpdate_S
{
InputUpdateType_E UpdateType;
UInt8_T CoProcNum;
UInt8_T PinNum;
InputUpdateFunctor_T *callback;
};
typedef Functor1<InputUpdate_S> InputUpdateFunctor_T;
};
我该如何解决这个问题?
【问题讨论】: