2016-11-12 9 views
3

C++にはまったく新しいので、これはおそらく本当にばかげた質問です。 read_models()proc_models()の両方でアクセスするcube_normalsポインタが必要です。read_models()を呼び出すたびにポインタを初期化する必要があります。私は何ができるのメンバ関数内クラスメンバであるスマートポインタを初期化するにはどうすればよいですか?

PointCloud<A>::Ptr cube_normals (new PointCloud<A>); 

私は他の関数へのポインタを渡すことができますが、私はこの問題を解決するためのクリーンな方法を使用して、そのおそらくないです12個の、このようなポインタがあります。

これはコードスニペットです。前もって感謝します!

class preproc 
{ 

public: 

    preproc(); 
    ~preproc(); 
    PointCloud<A>::Ptr cube_normals; 

    void read_models(); 
    void proc_models(); 

private: 

    ros::NodeHandle nh; 
    ros::NodeHandle nh_priv; 
}; 
+0

'read_models()'と 'proc_models()'は同じクラスのメソッドなので、同じクラスのメンバーである 'cube_normals'にアクセスする特別なことはありません。彼らはそれがローカル変数であるかのようにアクセスします。あなたの質問は不明です。 C++の基本を完全に理解していない場合、最良の答えは、C++の本を読んだり、提示された資料を理解し続けることです。 –

答えて

関連する問題