1
編輯(感謝Barry的評論)我需要複製FLANN搜索索引以在向量中使用它們,但是當副本進入範圍時它會產生訪問衝突。該崩潰最小碼爲:flann的析構函數::複製構造函數產生訪問衝突後的索引
#include<flann\flann.hpp>
#include<vector>
const int samplesize=10;
const int dimension=3;
int main(int argc, char* argv[])
{
//fill a pointer to doubles with whatever
double * data=new double[samplesize*dimension];
for(int i=0; i<samplesize*dimension; ++i)
{
data[i]=1;
}
// make a FLANN search index from that data
flann::Matrix<double> datamat(data,samplesize,dimension);
flann::Index<flann::L2<double> > ind(datamat, flann::KDTreeIndexParams(4));
flann::Index<flann::L2<double> > ind2(ind);
return 0;
}
我將不勝感激,如果有人能告訴我如何制止這種
我不熟悉'flann :: Index',但問題是你有兩個'ind'副本摧毀?如果你用'flann :: Index <...> ind2(ind);'來替換vector,你還會得到雙重刪除嗎? – Barry 2014-10-27 11:24:13
@Barry啊是'flann :: Index> ind2(ind);'確實發生了同樣的錯誤。它也調用std ::〜vector來解釋爲什麼原始代碼會在那裏出現兩次。我將編輯問題 –
MatthewJohnHeath
2014-10-27 11:28:38
您可以再次編輯問題以顯示問題是什麼? (哦,標題以及保持一致:)) – JBL 2014-10-27 11:37:45