在主函式中用vector定義了一個二維陣列(這樣定義的原因是陣列第一維長度已知,但是第二維長度未知):
vector<vector<int>> MainColorVec(RegionNum,vector<int>(0)); //RegionNum已計算出
然后,在函式中呼叫該陣列:
Segment IMG;//定義了一個Segment類的物件
IMG.GetRegionMainColorVecs(RegionNum, LabelVec, AreaVec, 8, MainColorVec, MainColorFreqVec, MainColorNumVec);
其中,該成員函式宣告如下:
class Segment
{
private:
......//成員變數
public:
......//成員函式
void GetRegionMainColorVecs(int RegionNums, int *LabelVec, int *AreaVec, const int binNums, vector<vector<int>> MainColorVec, float *MainColorFreqVec, int *MainColorNumVec);
}
存在的問題是二維陣列MainColorVec的計算結果沒有傳遞出來,具體如下:
呼叫函式內:

跳出函式后:

請教各位大神是什么原因導致的~~
uj5u.com熱心網友回復:
引數改為參考型別void GetRegionMainColorVecs(int RegionNums, int *LabelVec, int *AreaVec, const int binNums, vector<vector<int>>& MainColorVec, float *MainColorFreqVec, int *MainColorNumVec);
uj5u.com熱心網友回復:
結果是對的,謝謝!
但是,原因是什么呢?還請指點一二~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/83415.html
標籤:基礎類
上一篇:影像拼接問題?
