建議使用 Visual Studio 2017

編譯器錯誤 C2105

 

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

'operator' 需要左值

運算子必須為運算元是左值。

下列範例會產生 C2105:

// C2105.cpp  
int main() {  
   unsigned char * p1 = 0;  
   unsigned int * p2 = (unsigned int *)p1;  
   p2++;  
  
   unsigned int * p = 0;  
   p++;   // ok  
  
   p2 = (unsigned int *)p1;  
   ((unsigned int *)p1)++;   // C2105  
}  

下列範例會產生 C2105:

// C2105b.cpp  
int main() {  
   int a[10] = {0};  
   int b[10] = {0};  
   ++(a , b);   // C2105  
  
   // OK  
   ++(a[0] , b[0]);  
   ++a[0];  
}  

顯示: