typedef int abc;
class Some{
public:
abc foo(){...}
typedef double abc;
};
在上面的代碼中的參數列表裏,我明白了,我得到一個錯誤:因爲在這本書名稱查找成員函數
error: changes meaning of 'abc' from 'typedef int abc'
C++底漆,第五edtion,它說:
Class definitions are processed in two phases:
1.First, the member declarations are compiled.
2.Function bodies are compiled only after the entire class has been seen.
但在這裏的代碼:
typedef int abc;
class Some{
public:
int foo(abc){...}
typedef double abc;
};
我在參數列表中設置了abc
。 但我沒有得到那種錯誤,編譯器工作得很好。 爲什麼後面的代碼不會給我帶來類似於前者的任何錯誤?
您的問題是? – Oswald 2013-03-20 13:56:10
我的不好。我編輯它。 – longtengaa 2013-03-20 14:04:14