-6
下面給我一個錯誤:爲什麼我不能像類名一樣使用變量名?
struct foo
{
};
int main()
{
foo foo;
foo foo2;
}
main.cpp:14:9: error: expected ';' before 'foo2'
foo foo2 = foo;
main.cpp:14:19: warning: statement has no effect [-Wunused-value]
foo foo2 = foo;
然而foo foo, foo2
工作完全正常。什麼規則阻止我採取第一種方式?
你們都是downvoting或留下粗魯的意見,而不是回答這個問題。我正在尋求使第一種方法無法編譯的規則。
更好的問題是爲什麼呢?充其量,它可能會編譯,你的合作者會恨你。在最糟糕的情況下,你會遇到很難調試的可怕的名字遮蔽問題。 – CoryKramer 2014-10-03 12:28:32
「爲什麼我不能只將變量名稱與類名稱相同?」因爲它混亂如地獄。 – Borgleader 2014-10-03 12:28:37
這不是你編譯的代碼。給真正的代碼。 – matsjoyce 2014-10-03 12:28:41