2011-11-07 46 views
2

根據MSDN時,Visual C++ 2003和Visual C++ 6可發射warning C4247警告C4247和C4248是什麼意思,爲什麼從Visual C++ 2005中刪除?

'構件' 不可訪問,因爲 '的Class1' 使用 '訪問' 從 '的Class2'

warning C4248

繼承

'的Class1':不能訪問類class2 '

'在類中聲明''訪問' 成員

沒有關於這些警告的信息,它們不再以新版本(2005年及以上版本)發佈。

他們是什麼意思,他們爲什麼被刪除?

+1

那些聽起來像他們應該是錯誤,而不是警告。 –

+0

根據鏈接,4247是一個警告而不是錯誤,因爲它是由於類型轉換而發生的。不知道爲什麼4248不是一個錯誤。 –

+0

@ K-ballo:他們實際上是現今的錯誤(至少VS2010),最近偶然發現。 – MSalters

回答

4

這些被錯誤取代:

  • C2247:「識別符」不可訪問,因爲「類」使用「說明符」從「類」
  • C2248繼承:「部件」:不能訪問的訪問'會員在班級申報'

請注意,除第一位數字外,錯誤號碼與舊警告號碼相同。大多數情況下,C++錯誤以'2'開頭,Managed C++和C++/CLI錯誤以'3'開頭,警告以'4'開頭。

+0

我沒有得到一件事 - 爲什麼他們從一開始就沒有錯誤? – sharptooth

+0

因爲Visual C++已經存在了很長一段時間,並且C++的許多部分都隨着時間而改變,特別是在C++ 98標準化過程中。 –

相關問題