2017-04-07 48 views
0

我正在遍歷char *,如下所示,但是在指示的行上,我得到錯誤C2446'!='沒有從char *轉換爲int。迭代char *錯誤沒有從char *轉換爲int

 int errorLineNumber = 0; 
     char* json; //this is a long json with multiple \n's in it. 
     int offset = errorOffset; 
     char* p = json + offset; 
     while (*p-- != '\n' && offset--); //check that this gives offset on that error line and not char position of end of last line before error 
     errorLineOffset = errorOffset - offset; //get offset on error line only 

     //count lines to json error 
     long errorLineNumber = 0; 
     while (*p!= json) //this is error line 
      errorLineNumber += *p-- == '\n'; 

我看着conversion const char to tchar,但它是一個有點不同,我也看着conversion const char to int,我仍然不認爲是同一個問題,除非我失去了一些東西。

如果有人知道我錯過了什麼,那將會很棒。謝謝!

+1

顯示涉及變量的類型。 –

+0

在VS2015中正常工作 – alexeykuzmin0

+1

你是不是指(p!= json)? – jwimberley

回答

1

在線路

while (*p != json) 

您比較*pchar類型的到json,其中,根據上面的代碼應該是一個指針,我假設它是類型`爲const char *相關。所以你應該這樣做

while (p != json) ...