我在標題中包含了「不使用字符串」部分,因爲當我在這裏尋找答案時,我看到這個問題很多,但它與人使用字符串和混淆字符。這不是我的問題。IOS C++禁止在指針和整數之間進行比較(不使用字符串)
嘗試調用2D矢量的元素並查看它是否等於某個數。我得到指針/整數錯誤之間的比較,我不明白爲什麼。這是我的代碼,任何幫助將非常感激。
bool UsedInRow(vector< vector<int> > vec(int n, vector<int> (int n)), int row, int num)
{
int n;
for (int col = 0; col < n; col++)
{
if (vec[row][col] == num)
{
return true;
}
}
return false;
}
你怎麼能確定它不是一個函數指針?如果它應該是一個向量,爲什麼嵌套參數列表在第一位呢? (直到OP解釋我們纔會知道答案。) –
@KeithThompson:他使用'vec'就像一個二維數組,而不是一個函數指針。所以我申請了Occam的剃鬚刀。 – Danvil
你可能是對的 - 但肯定是'(int n,vector(int n))'不只是一個隨機的錯字。該代碼包含一個非常複雜且完全有效的函數聲明,它接受一個函數指針參數,其中指向函數本身需要另一個函數指針參數。這裏還有其他的東西(我不知道是什麼)。 –