建議使用 Visual Studio 2017

編譯器錯誤 C2051

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

case 運算式不是常數

Case 運算式必須是整數常數。

下列範例會產生 C2051:

// C2051.cpp  
class X {};  
  
int main() {  
   static X x;  
   int i = 0;  
  
   switch (i) {  
      case x:   // C2051 use constant expression to resolve error  
         break;  
      default:  
         break;  
   }  
}  

可能的解決方式:

// C2051b.cpp  
class X {};  
  
int main() {  
   static X x;  
   int i = 0;  
  
   switch (i) {  
      case 1:  
         break;  
      default:  
         break;  
   }  
}  

顯示: