我有串行數據,我想比較一個特定的字節和字母「G」。C++比較一個字節和一個字母
LPtype是從串口讀取的一個字節。
if (LPtype == "G")
{
doThis();
}
我得到以下錯誤:
C++禁止指針和整數之間的比較
什麼是傳入再見比較字母G的正確方法? (或任何其他字母)
我有串行數據,我想比較一個特定的字節和字母「G」。C++比較一個字節和一個字母
LPtype是從串口讀取的一個字節。
if (LPtype == "G")
{
doThis();
}
我得到以下錯誤:
C++禁止指針和整數之間的比較
什麼是傳入再見比較字母G的正確方法? (或任何其他字母)
LPtype == 'G'
單數的引號。但LP通常前綴指針類型,在這種情況下,你應該取消對它的引用
*LPtype == 'G'
但是,如果你確定LPtype確實是一個字節的值,然後
LPtype == 'G'
應該工作。問題是,"G"
具有類型const char[2]
,而不是整數類型,而'G'
有類型char
是整數類型
我不認爲鼓勵OP進行瘋狂猜測是一個特別負責任的事情,Armen,即使你只是通過自己猜測而隱含地做它;) –
「但是LP通常是指針類型的前綴,在這種情況下,你應該解引用它:'* LPtype =='G''「 - 在這種情況下,編譯器不會抱怨整數和指針比較... – 2012-11-06 19:10:07
它是引號,謝謝,我沒有做太多的C++,主要是VB從我這裏犯了很多錯誤。至於LPtype,我輪詢和LP是爲最後民意測驗,類型是民意調查的類型,不知道這會導致問題 –
你可以這樣做:
LPtype == 'G'
讓我們看看LPtype'的'類型。 – andre
'LPtype是一個字節'是嗎?真?似乎是一個字節的奇怪名稱。 –
無論類型'LPtype'是否有'operator ==(const char *)'?如果是這樣,它在這裏做你想做的事情嗎? –