0

この警告を防ぐことはできません..

...\boost\asio\impl\io_service.ipp(46) : warning C4267: 'argument' : conversion from 'size_t' to 'std::numeric_limits<unsigned int>::_Ty', possible loss of data

おそらくあなたは

  1. これについての説明
  2. 投げを防ぐための解決策:-)

親切に、

アレックス

4

1 に答える 1

4

これについての説明

これは64ビットビルドであり、64ビットであり、 32ビットであると思われますsize_tunsigned int

std::cout << sizeof(unsigned int) << "\n"; // Output '4' on both x86 and x64
std::cout << sizeof(size_t)       << "\n"; // Output '4' on x86
                                           // Output '8' on x64

投げを防ぐための解決策

/Wd4267この警告を無効にするには、コンパイラフラグを追加します。ただし、これにより、プロジェクト内の嫌いな可能性のあるすべてのソースに対する警告が無効になります。別の方法は、以下を使用すること#pragma warningです。

#pragma warning(disable: 4267)
#include <boost-header-files>
#pragma warning(default: 4267)
于 2012-08-13T13:23:39.290 に答える