首頁 > 後端開發 > C++ > 如何修復 C 中指標和整數之間的比較錯誤

如何修復 C 中指標和整數之間的比較錯誤

Linda Hamilton
發布: 2024-10-23 16:10:02
原創
369 人瀏覽過

How to Fix Comparison Error Between Pointer and Integer in C

C 中的比較錯誤:指針與整數

當嘗試編譯Bjarne Stroustrup 的C 書籍第三版中的簡單函數時,開發人員可能會遇到編譯時錯誤:

error: ISO C++ forbids comparison between pointer and integer
登入後複製

將指標與整數進行比較時會出現此問題。在提供的程式碼中:

<code class="cpp">#include <iostream>
#include <string>
using namespace std;
bool accept()
{
    cout << "Do you want to proceed (y or n)?\n";
    char answer;
    cin >> answer;
    if (answer == "y") return true;
    return false;
}</code>
登入後複製

錯誤出現在 if 語句中,其中答案與字串文字(“y”)進行比較。由於answer是字元變量,因此必須將其與字元常數進行比較。

此問題有兩種解:

  1. 使用字串變數

    <code class="cpp">string answer;
    if (answer == "y") return true;</code>
    登入後複製
    使用字串變數
  2. :
  3. 將答案宣告為字串類型而不是字元。這將允許您正確地將答案與字串文字進行比較:


    <code class="cpp">if (answer == 'y') return true; // Note single quotes for character constant</code>
    登入後複製
    使用字元常數
  4. :
而不是將答案與字串文字進行比較,使用用單引號括起來的字元常數:

兩種方法都透過確保比較是在相容類型之間有效地解決了錯誤。

以上是如何修復 C 中指標和整數之間的比較錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板