बनाएं मुझे यह जानना है कि यह संभव है या नहीं। मेरे पास एक समारोह है:एक पीसीएल :: प्वाइंट क्लाउड :: पीटीआर एक पीसीएल :: प्वाइंट क्लाउड
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))
और यह संकलन त्रुटि में परिणाम है:
"अस्थायी का पता लेने के लिए" ही एकमात्र विकल्प है क्या फ़ंक्शन एक पॉइंटर प्रकार लौटाता है या क्या मैं पूछ रहा हूं कि ऐसा करने का कोई तरीका है?
संपादित करें:
नीचे दिए गए उत्तर के दोनों सही हैं, मैं जोनाथन सही टिक से सम्मानित किया है के रूप में वह पहली बार इस समय में मिला है।
अच्छी कॉल यह सही है। –
@ बेन हाँ, उसने भी किया। किसी भी विधि को काम करना चाहिए, इस पर निर्भर करता है कि आप अपनी कक्षा से अपने काम को कैसे लौटते हैं। आप किस कंपाइलर का उपयोग कर रहे हैं? – johnathon
सेमेक, तो मैं मानता हूं कि g ++ –