私はUbuntu 11.04でNetBeans 6.9を使ってC++アプリケーションを開発しています。私はOpenCV 2.3.1を使用しています。誰かが私にこのコードの何が間違っているか教えてもらえるかどうか疑問に思っていた。OpenCV、C++:セットに挿入
void AddTriangle(CvPoint buf[3], set< Triangle > &V)
{
Triangle triangle;
int inc;
for (inc=0; inc<3; ++inc)
{
triangle.v[inc].x=buf[inc].x;
triangle.v[inc].y=buf[inc].y;
}
V.insert((const Triangle) triangle);
}
私がコンパイルしようとすると、私は、次のエラーメッセージが表示されます。
from /usr/include/c++/4.5/bits/locale_classes.h:42,
from /usr/include/c++/4.5/bits/ios_base.h:43,
from /usr/include/c++/4.5/ios:43,
from /usr/include/c++/4.5/istream:40,
from /usr/include/c++/4.5/sstream:39,
from /usr/include/c++/4.5/complex:47,
from /usr/local/include/opencv2/core/core.hpp:59,
from ../../OpenCV-2.3.1/include/opencv/cv.h:64,
from ../../OpenCV-2.3.1/include/opencv/cv.hpp:50,
from ../../DraculaFiles/TwoDTriangulation.cpp:12:
/usr/include/c++/4.5/bits/stl_function.h: In member function ‘bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = sTriangle]’:
In file included from /usr/include/c++/4.5/string:50:0, /usr/include/c++/4.5/bits/stl_tree.h:1184:4: instantiated from ‘std::pair, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(const _Val&) [with _Key = sTriangle, _Val = sTriangle, _KeyOfValue = std::_Identity, _Compare = std::less, _Alloc = std::allocator]’
/usr/include/c++/4.5/bits/stl_set.h:408:29: instantiated from ‘std::pair, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = sTriangle, _Compare = std::less, _Alloc = std::allocator, typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator, value_type = sTriangle]’
次のように三角形が定義されています。
typedef struct sTriangle
{
CvPoint v[3];
} Triangle;
任意の助けをいただければ幸いです、
ピーター。
:あなたも
sTriangle
構造を変更することなく、少ない演算子を実装することができます。その中に 'error'という単語がある行があるはずです。 – Irfy残りのエラー出力を取得している間に、for(int inc = 0; ...)によってローカルにループカウンタをスコープしない理由がありますか? – thb
残りのエラーメッセージは – OtagoHarbour