C++_size_t から int への変換

未解決

 

size_t で取得した値を、配列のインデックスとして使ったら以下のエラー。

warning C4267:
'引数': 'size_t' から 'int'変換しました。データが失われているかもしれません。

これは、size_t から サイズの小さな型の変換を検出した時に出るエラー。
size_t 以上の整数型を使わなければならない。
int 型の 変数に double 型を入れたようなものかと。

 

大きな値にならないと分かっている場合は、
int 型の変数で管理しても問題ないとのこと。
ただ、上記の警告がでるので ↓ のようにキャスト演算子で警告を抑える

    size_t hoge = xxxx;
    int fuga = (int)hoge;

 

キャストは使うなと、いう記事あったがこの場合はどうすれば?

 

こちらから。
http://manabu.quu.cc/up/3/e31555.htm
https://msdn.microsoft.com/ja-jp/library/6kck0s93(v=vs.120).aspx

 

以上。