0
我試圖找到通過字符數組要與十六進制值,即n個量的方式{0xA2,0xE7,0x5F的,0x1B,0×11,0×11,0×00},我想嘗試做一個XOR校驗和通過所有在它的項目 - 更精確的A2^E7^5F^1B^11^00是。Qt用於校驗和的C++ xor?
這裏是我的代碼位:
void MainWindow::checkSum(QByteArray *b)
{
qint16 b_len = b->length();
unsigned char xor = 0;
for (int i = 0 ; i < b_len ; i ++)
{
xor = xor^b[i];
}
}
我想我的代碼應該做的工作不過Qt不編譯它,給我的「2248愚蠢的錯誤:「的QByteArray ::運算QNoImplicitBoolCast ':無法訪問類'QByteArray'''中聲明的私有成員。
如何使它工作的任何想法?
一般情況下,你不應該路過指針的東西,除非明確要求我的情況噸。默認情況下,當它們在參數中時,你應該通過const引用來傳遞Qt類型,當它們是out-arguments時通過引用來傳遞Qt類型。傳統上,通過指針或指向const的'QObject'和派生類。小值類型,例如從'QFlags'派生的類型,應該按值傳遞。 –
你可以在這裏查看您的結果:http://www.th-thielemann.de/tools/checksum.html –