我在將Kinect1的一個演算法移植到Kinect2上面的時候遇到的問題,網上沒有搜到,求大神幫忙解決,在下感激不盡
這是原來K1的代碼
NUI_SKELETON_FRAME standardization(NUI_SKELETON_FRAME skeletonFrame){
for (int i = 0; i < NUI_SKELETON_COUNT; i++){
for (int r = 0; r < 20; r++){
skeletonFrame.SkeletonData[i].SkeletonPositions[r] = bz(skeletonFrame.SkeletonData[i].SkeletonPositions[r], skeletonFrame.SkeletonData[i].SkeletonPositions[0]);
}
}
return skeletonFrame;
}我改寫后的K2代碼
IBodyFrameReader standardization(IBodyFrameReader skeletonFrame){
for (int i = 0; i < BODY_COUNT; i++){
for (int r = 0; r < 25; r++){
skeletonFrame.SkeletonData[i].SkeletonPositions[r] = bz(skeletonFrame.SkeletonData[i].SkeletonPositions[r], skeletonFrame.SkeletonData[i].SkeletonPositions[0]);
}
}
return skeletonFrame;
}這是程式報錯的地方
uj5u.com熱心網友回復:
使用指標形式uj5u.com熱心網友回復:
不太懂求指導uj5u.com熱心網友回復:
你回傳的是一個物件, 而這物件的類是純虛的, 雖然記憶體上可以轉換了, 但是沒有資料本身就不符合語法規范.在k1上正好有bug, 在k2上有了更嚴格的檢查, 你就通不過了.
可以改成回傳指標, 或者參考
NUI_SKELETON_FRAME standardization(NUI_SKELETON_FRAME skeletonFrame)
改成
NUI_SKELETON_FRAME &standardization(NUI_SKELETON_FRAME skeletonFrame)
或者
NUI_SKELETON_FRAME *standardization(NUI_SKELETON_FRAME skeletonFrame) //注意改成指標,ruturn陳述句需要使用&取地址.
后面的函式類似
uj5u.com熱心網友回復:
可是K2不認這個NUI_SKELETON_FRAM呀,按照你的寫上去提示這個NUI_SKELETON_FRAME是未定義識別符號uj5u.com熱心網友回復:
好大 磊磊大在在轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/145145.html
標籤:基礎類
