3
A
回答
2
int main()
{
5; // Statement has no effect
return 0;
}
編輯1上VC++ 2010
#include <iostream>
#pragma warning(default:4555)
int main()
{
5;
getchar();
return 0;
}
輸出嘗試:
warning C4555:main.cpp(6): expression has no effect; expected expression with side-effect
注:看來VC++ 2010有他們的名單上沒有C4705警告。 MSDN Compiler Warnings
2
void f();
int main()
{
f; // Statement has no effect
}
6
so ross$ cat > noeff.c
void f(void) {
1;
}
so ross$ cc -Wall -c noeff.c
noeff.c: In function ‘f’:
noeff.c:2: warning: statement with no effect
so ross$
1
還有一個:
x == 0;
我發現其中的一個部分代碼(別人寫的)最近 - 我把它固定在預定的「x = 0;
」。
Mac OS X 10.6.6上的GCC 4.2.1。
cc -Wall -c x.c
x.c: In function ‘f’:
x.c:5: warning: statement with no effect
代碼:
int f(int x)
{
x *= 3;
if (x % 2 == 0)
x == 0;
return x;
}
你得到與其他編譯器依賴於其他編譯器。
0
下面的C代碼生成與VS2008以下警告不惜一切默認的警告級別爲編譯器:
int main()
{
int a = 0;
1; // this doesn't seem to generate a warning
a + 1;
a == 0;
return 0;
}
C:\temp\test.c(5) : warning C4552: '+' : operator has no effect; expected operator with side-effect
C:\temp\test.c(6) : warning C4553: '==' : operator has no effect; did you intend '='?
在你的意見,你似乎實際上是集中於得到警告C4705(「語句沒有影響」)。 According to MSDN,似乎該警告僅記錄在VS6中。所以我認爲如果你想要那個特定的錯誤代碼,你需要挖掘VC++ 6.
相關問題
- 1. 刪除從T4 MVC代碼生成中生成的編譯器警告
- 2. 編譯警告無效**和無效*
- 3. 奇怪的編譯器警告C:警告:在參數列表中聲明'struct'
- 4. 如何讓SBT不報告生成的代碼的編譯警告?
- 5. 如何僅在某些時候生成編譯器警告?
- 6. 在生成的類亞音速生成編譯器警告
- 7. 無效聲明的gcc警告。
- 8. 代碼生成wreorder警告
- 9. 標記如何關閉編譯器警告代碼塊中
- 10. 如何讓Java編譯器在編譯代碼中生成行號碼
- 11. 編譯器代碼生成器驗證
- 12. 如何在生成的文件中抑制Xcode中的編譯器警告?
- 13. 編譯器警告
- 14. 如何聲明一個不會生成警告的結構?
- 15. 在x86中進行編碼 - 編譯器代碼生成
- 16. jOOQ生成的代碼無法編譯?
- 17. 編譯時如何生成代碼?
- 18. 代碼合同。如何抑制生成的代碼警告?
- 19. 編譯器警告在NSManagedObject
- 20. 如何在生成的代碼中抑制警告?
- 21. HtmlUnit爲無效的css生成警告
- 22. 警告:隱式函數聲明在C99中無效?
- 23. 警告:函數'foo'的隱式聲明在C99中無效
- 24. Xcode - 警告:隱式函數聲明在C99中無效
- 25. GCC警告:函數'puts'的隱式聲明在C99中無效
- 26. 無法在我的PDE中獲得我的Eclipse編譯器警告生成
- 27. 編譯時代碼生成
- 28. 代碼分析生成的代碼生成文件 - 如何抑制警告?
- 29. Haskell編譯器的代碼生成
- 30. javax.annotation.processing.AbstractProcessor:編譯器生成的代碼
確保你的警告級別設置得足夠高。 – 2011-01-29 06:11:59
哪個編譯器? – 2011-01-29 06:14:24
謝謝大家。您的評論有幫助。 – user393148 2011-01-29 06:27:14