我们在 Ubuntu 12.04LTS 和 ROS 环境中使用 Eclipse 在 C++ 中做一个项目。我以前在源文件中定义类,跳过原型;但是现在我们被告知使用头文件作为原型,源文件作为原型包含在头文件中的函数的扩展。它旨在实现易于阅读的代码。
但是,我在返回结构类型时遇到了问题,而我以前的工作方式没有问题。让我清楚我想要达到的目标,
这是头文件,
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。” 出现错误。即使我在互联网上搜索过它,我也无法看到任何可靠的解决方案。任何答案将不胜感激。已经谢谢了。。