-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