-3
我正在研究一些C++代碼,並且在編譯時收到警告。我知道它並沒有真正影響到最終的結果,但我喜歡的代碼儘可能乾淨,警告:格式指定類型'無符號long long',但參數的類型爲'unsigned int'
src/main.cpp:1908:136: warning: format specifies type 'unsigned long long' but the argument has type 'unsigned int' [-Wformat]
...: Rejected by stake modifier checkpoint height=%d, modifier=0x%016"PRIx64, pindexNew->nHeight, pindexNew->nStakeModifierChecksum);
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
,問題中的代碼是:
uint64_t nStakeModifier = 0;
bool fGeneratedStakeModifier = false;
if (!ComputeNextStakeModifier(pindexNew->pprev, nStakeModifier, fGeneratedStakeModifier))
return error("AddToBlockIndex() : ComputeNextStakeModifier() failed");
pindexNew->SetStakeModifier(nStakeModifier, fGeneratedStakeModifier);
pindexNew->nStakeModifierChecksum = GetStakeModifierChecksum(pindexNew);
if (!CheckStakeModifierCheckpoints(pindexNew->nHeight, pindexNew->nStakeModifierChecksum))
return error("AddToBlockIndex() : Rejected by stake modifier checkpoint height=%d, modifier=0x%016"PRIx64, pindexNew->nHeight, pindexNew->nStakeModifierChecksum);
任何幫助非常感謝,謝謝!
對不起,我是新來的這個東西,只是玩現有的代碼分支。 – whit 2014-09-25 18:47:15
它在main.h中作爲unsigned int nStakeModifierChecksum; //索引的校驗和;不在內,只有 – whit 2014-09-25 18:47:44
不,對不起,還不清楚。請創建一個.cpp文件,其中包含一個演示此問題的main()函數。實際上,這應該是你瞭解問題的第一步,即使在問這裏之前。 – 2014-09-26 15:41:08