該函數檢查第一個參數是否爲偶數,如果是,則將該值添加到第二個參數。它使用void *,我必須轉換爲int,但是我遇到了語法問題以及如何正確投射以及使用指針。void *轉換爲int語法的問題
bool isEven(void *x, void* z) {
int * a = (int *)x;
int * b = (int *)z;
bool result = false;
if (*a % 2) {
result = true;
b += a;
}
return result;
}
我的語法出了什麼問題? 「a」中出現錯誤,表示「表達式必須具有整數或枚舉類型」
至少'B + = A'線是錯誤的。 – Cthulhu
由於'a'和'b'是指針,並且假設您想要將'a'添加到'b',您需要'* b + = * a'。您至少應該在學習之前學習一種語言的**語法**,然後再提問 - 我們不是「教我語言X」網站。 – 2013-10-28 20:21:34
爲什麼你使用void *而不是int –