0

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 を解決できませんでした。」エラーが表示されます。インターネットで検索しても、信頼できる解決策は見つかりませんでした。どんな答えでも大歓迎です。もうありがとう..

4

1 に答える 1