Я работаю над некоторым кодом на C++, и во время компиляции я получаю предупреждение. Я знаю, что это никак не влияет на конечный результат, но мне нравится код, чтобы быть настолько чистым, насколько это возможно, предупреждение:format указывает тип unsigned 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
Его в main.h как unsigned int nStakeModifierChecksum; // контрольная сумма индекса; только в-memeory – whit
Нет, извините, все еще непонятно. Создайте один .cpp-файл, содержащий единственную функцию main(), которая демонстрирует проблему. Это должно быть первым шагом для вас, чтобы понять проблему, даже прежде чем спрашивать здесь. –