私はいくつかの C++ ゲーム ソースを手に入れました。私は C++ の初心者であり、ソースを正常にコンパイルしました。正常に動作しているように見えますが、解決できない厄介な警告がいくつかあります。
私の C++ プログラミング スキルは非常に基本的なもので、これらのテンプレート変数に大きな問題があります。特に、この int32_t というモジュラー テンプレートは、私のソースのほぼすべての場所で使用されているようです。
私が int32_t について読んだドキュメントは初心者向けではありません。非常に形式的で、使い方を知らない人にとっては理解しにくいものです。(そして、うーん、実際には間違った場所を見ているのではないかと思います)。
ポイントへ:
これが私が問題を抱えている機能です:
int32_t Weapons::getMaxMeleeWeaponDamage(int32_t attackSkill, int32_t attackValue, float attackFactor)
{
return ((int32_t)std::ceil(((attackValue * 0.05) * attackSkill) + (attackValue)) / attackFactor);
}
与えられた警告:
170 C:\compiling\GameSources\weapons.cpp [警告] int32_t' from
float への変換'
手がかりは、floatを考慮して計算し、int値を返すことです。(したがって、ダメージ計算は正確ですが、ゲーム クライアントのダメージ表示はダメージの整数表現を返します)。
私の知る限り、この警告は私が聞きたいことを伝えているだけです。しかし、どうすればこの警告を取り除くことができますか? (コンパイラに警告を無視するように指示する以外に、私はそれを望んでいません)。