これが可能かどうか知りたいのですが。私は機能を持っています:
pcl::PointCloud<pcl::PointXYZRGB> createPointCloud(std::Vector<Nodes> input)
これは点群を返します。この点群をとって、そのコピーへのポインタを作ることが可能かどうか知りたいです。pclは、次のようにクラウドへのポインタを作成します。
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR(new pcl::PointCloud<pcl::PointXYZRGB>)
私はこれをやってみました:
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR(createPointCloud(nodeList))
これにより、かなり明白なエラーが発生します。createPointCloudはクラウドへのポインタを返しません。
私もこれを試しました:
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR = &createPointCloud(nodeList)
この:
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloudPTR(&createPointCloud(nodeList))
そして、これはコンパイルエラーになります:「一時的なアドレスを取得しています」
関数にポインタ型を返すようにする唯一のオプションですか、それとも私が求めていることを行う方法はありますか?
編集:
以下の答えは両方とも正解です。今回最初に獲得したので、私はJonathonに正しいティックを与えました。