クロスプラットフォームビューにWindowsコードを書き直す必要があります。ここでは一例です:コード内標準からunordered_set
std::unordered_set<Type>::iterator it = ...;
it._Ptr->_Myval->...
Everywereが_Ptr
メンバーはイテレータであるが、私はドキュメントでそれを見つけることができません。私はそれがビジュアルスタジオ(それはstlの実装です)と動作すると思います。任意のアイデアをどのように置き換えるには? _Myval
とは何ですか?
UPD:
for(std::unordered_set<QuadTreeOccupant*>::iterator it = ...)
it->aabb;
class QuadTreeOccupant
{
public:
AABB aabb;
};
そしてラインit->aabb
でエラー:
error: request for member ‘aabb’ in ‘* it.std::__detail::_Hashtable_iterator<_Value, __constant_iterators, __cache>::operator-> with _Value = qdt::QuadTreeOccupant*, bool __constant_iterators = true, bool _cache = false, std::_detail::_Hashtable_iterator<_Value, __constant_iterators, __cache>::pointer = qdt::QuadTreeOccupant* const*’, which is of non-class type ‘qdt::QuadTreeOccupant* const’
はあなたがアップデートで見ることができ、してください? – Ockonal
@Ockonal: '(* it) - > aabb'、' hash_map'には*ポインタ*が含まれているので、逆参照も必要です – Xeo