2012-01-13 6 views
-3
struct Vector { 

    float i,j,k; 

} std::vector pt[size]; 

... = ... + pt[temp]; 

tempタイプintです。コンパイラは警告をタイトルとして与えます。警告C4244: '引数': 'フロート' から 'INT' からの変換、データの損失の可能性(C++)

+3

可能な限り完全で有効なコードとして投稿してください。あなたのコードは多くの点で明らかに無効です。そのため、どの問題が発生しているのかを正確に知ることは困難です。 –

+1

サンプルコードの一部を「...」に置き換えたのはなぜですか? –

答えて

0

コンパイラがintを暗黙的にfloatに変換するため、この警告が表示されます。

考えられる原因は、それはあなたのコードの多くを非表示になってきたことを考えると言うのは難しい、と私たちは、STDに格納されたデータの種類を見ることができない

int x = 7331; 
float y = x; 
+0

しかし、ここでは引数は 'int'です。したがって、 'pt [int]'は最後に警告を出すべきではありません。 'pt [int]'はfloatです。 – Shibli

+0

@Shibliあなたはあなたの完全な表現とあなたが警告を受ける正確な行を投稿できますか? –

+0

ここにエラーがあります: 'elm [e] .cnt = elm [e] .cnt + pt [dum_iElm [e-nBelm] .vtx [i]]/nVtx3D;' – Shibli

0

ようなものになることができます。 :vector、あなたが悪いコードを投稿したか、テンプレート引数を削除しました。

何が追加されていますか? pt店舗は浮きますか?以下のような行:int型へxの暗黙の変換が存在することになるので、

float x = 5.0f; 
    int y = 2 + x; 

は、この警告を生成してもよいです。

関連する問題