2017-08-15 18 views
-4

は、この機能には問題があり、私は、Visual Studioのバージョンを使用しているのでcompailはSTD」のメンバではありません::ベクトル<_Ty>

TPacketGCShopStart* p = (TPacketGCShopStart*)vecBuffer.data(); 

Error 1 error C2039: 'data' : is not a member of 'std::vector<_Ty>' e:\source\clinet\UserInterface\PythonNetworkStreamPhaseGame.cpp 1691 UserInterface

+1

まず、CスタイルのキャストをC++で使用しないでください。それはしばしば間違ったことをしているという印です。 –

+1

C++ 11を有効にする... – LogicStuff

+0

あなたの問題については、どのバージョンのVisual C++(私が推測している)を使用していますか?非常に古いバージョンを使用しているようですが、C++ 11標準を実装していないバージョンでは、[data'関数](http://en.cppreference.com/w/cpp/container/vector /データ)を加えた。 –

答えて

3

を行うと、そのことはできませんVisual Studioの新しいバージョンへ

  1. 更新:(the data functionが追加されました)C++ 11標準をサポートしていませんC++コンパイラは、次の2つのソリューションを提供しています。
  2. std::vectorで扱うメモリはアレイのように連続している、とあなたは同じ構文を使用して最初の要素へのポインタを得ることができるということを覚えておいてください:TPacketGCShopStart* p = &vecBuffer[0]

私はむしろ更新し、最初のソリューションをお勧めしますVS2008はサポートされておらず、C++プログラマーとしての生活をはるかに容易にする最新のC++機能の多くをサポートしていないためです。

+0

の#else(!;それ= m_mapShopSign.end();それはm_mapShopSign.begin()= AUTO ++それ) エラー 欠落している型指定 - 仮定intです。注:C++はdefault-intをサポートしていません –

+0

@EMadYounis同じ問題があり、変数の型減算のための 'auto'がC++ 11で追加されました。 –

関連する問題