我有2類CVKinectWrapper.cpp和main.cpp。在CVKinectWrapper中,在bool CVKinectWrapper::update(){ ...
中我有一個變量XnSkeletonJointPosition righthand;
我想訪問main.cpp類中的這個變量。爲此我創建了一個沒有可行的超載
`void CVKinectWrapper::getRightHand(XnSkeletonJointPosition *righthand){
//*righthand = righthand;
righthand->copyTo(*righthand);
}`
直接分配不工作,我在*右邊=右手「得到這個錯誤=」 不匹配「運算符=。 copyTo不起作用,因爲右手的數據類型沒有這個方法。
對於額外的信息:
這是怎麼我在主類訪問包裝= CVKinectWrapper *wrapper = CVKinectWrapper::getInstance();
wrapper->getRightHand(XnSkeletonJointPosition *righthand)
現在我的問題是如何從CVKinectWrapper訪問右邊變量的主類。
這可能是一個非常基本的問題,但我相當新的C++。 在此先感謝。
爲什麼是個問題標籤爲'objective-c'(我已經刪除了帽子標籤)?還要考慮將完整的錯誤消息添加到有關編譯器/鏈接器錯誤的問題中,您已經刪除了重要信息(如'='兩側的對象類型)。最後,在添加代碼時,請確保您添加的代碼是程序中的代碼。我很懷疑'main'中的調用實際上是'wrapper-> getRightHand(XnSkeletonJointPosition * righthand)' –
我更新了錯誤信息。是的,這是真正的主打電話。 – Ojtwist
您仍然從錯誤消息中刪除參數的類型。如果這真的是'main'中的調用,那麼當你試圖將'XnSkeletonJointPosition * righthand'作爲參數傳遞給函數時,你會遇到另一個問題,這根本沒有任何意義(*看起來像*鍵入一個可能未定義的標識符...你是否打算創建一個新的變量?你不能。考慮按值返回,而不是以指針作爲參數) –