无法解析结构类型C++;日蚀 我们在C++中使用Eclipse在Ubuntu 1204LTS和ROS环境中进行了一个项目。 我曾经在源文件中定义类,并跳过原型;但是现在我们被告知使用头文件作为原型,源文件作为函数的扩展,其原型包含在头文件中。它的目的是实现一个易于阅读的代码
然而,我在返回结构类型方面有问题,而我以前的工作方式没有问题。让我把自己弄清楚,我想实现什么 这是头文件无法解析结构类型C++;日蚀 我们在C++中使用Eclipse在Ubuntu 1204LTS和ROS环境中进行了一个项目。 我曾经在源文件中定义类,并跳过原型;但是现在我们被告知使用头文件作为原型,源文件作为函数的扩展,其原型包含在头文件中。它的目的是实现一个易于阅读的代码,c++,eclipse,struct,return,eclipse-cdt,C++,Eclipse,Struct,Return,Eclipse Cdt,然而,我在返回结构类型方面有问题,而我以前的工作方式没有问题。让我把自己弄清楚,我想实现什么 这是头文件 class Im_Robot { public: Im_Robot(); private: typedef struct { double d_kp1; double d_ki1; double d_kd1; double d_kp
class Im_Robot
{
public:
Im_Robot();
private:
typedef struct
{
double d_kp1;
double d_ki1;
double d_kd1;
double d_kp2;
double d_ki2;
double d_kd2;
} ANGULAR_PARAMS;
ANGULAR_PARAMS angular_params;
protected:
void SetAngularParams(double d_kp1, double d_ki1,double d_kd1, double d_kp2,double d_ki2,double d_kd2);
ANGULAR_PARAMS GetAngularParams();
......
这是源文件
void Im_Robot::SetAngularParams(double d_kp1,
double d_ki1,
double d_kd1,
double d_kp2,
double d_ki2,
double d_kd2)
{
// this, örneği çıkarılan objeyi temsil eden anahtar kelimedir.
this->angular_params.d_kp1 = d_kp1;
this->angular_params.d_ki1 = d_ki1;
this->angular_params.d_kd1 = d_kd1;
this->angular_params.d_kp2 = d_kp2;
this->angular_params.d_ki2 = d_ki2;
this->angular_params.d_kd2 = d_kd2;
}
ANGULAR_PARAMS Im_Robot::GetAngularParams()
{
return this->angular_params;
}
......
在源文件和对应行中
ANGULAR_PARAMS Im_Robot::GetAngularParams()
“无法解析类型参数。”出现错误。尽管我在互联网上搜索过,我还是没有找到任何可靠的解决方案。任何答复都将不胜感激。已经谢谢了。ANGULAR_PARAMS是一个嵌套类,其作用域是它的封闭类。 必须使用完全限定名称:
Im_Robot::ANGULAR_PARAMS Im_Robot::GetAngularParams()
{
return this->angular_params;
}
其他:
- C++中不需要TyBuffs<代码>,只使用<代码> StuttEngalPurialPARAMS> <代码> < /LI>
- 访问说明符不一致,因为
是ANGULAR\u-PARAMS
的Im\u-Robot
类,但是private
受GetAngularParams()
意味着从保护
获取的类可以调用函数,但不能显式使用Im\u-Robot
名称(请参阅)。可以使用ANGULAR\u-PARAMS
访问返回的实例(请参阅和)auto
ANGULAR_PARAMS
是一个嵌套类,其作用域是其封闭类。
必须使用完全限定名称:
Im_Robot::ANGULAR_PARAMS Im_Robot::GetAngularParams()
{
return this->angular_params;
}
其他:
- C++中不需要TyBuffs<代码>,只使用<代码> StuttEngalPurialPARAMS> <代码> < /LI>
- 访问说明符不一致,因为
是ANGULAR\u-PARAMS
的Im\u-Robot
类,但是private
受GetAngularParams()
意味着从保护
获取的类可以调用函数,但不能显式使用Im\u-Robot
名称(请参阅)。可以使用ANGULAR\u-PARAMS
访问返回的实例(请参阅和)auto