編譯器警告 (層級 1) C4090

'operation' : 不同的 'modifier' 限定詞

運算中的變數是使用指定的修飾詞來定義的,此修飾詞用以防止變數未經編譯器察覺而被修改。 此運算式未經修改進行編譯。

const 或 volatile 項目的指標指派給未宣告為指向 const 或 volatile 的指標時,可能就會引發這項警告。

C 程式發出這項警告。 在 C++ 程式中,編譯器發出錯誤:C2440

下列範例會產生 C4090:

// C4090.c
// compile with: /W1
int *volatile *p;
int *const *q;
int **r;

int main() {
   p = q;   // C4090
   p = r;
   q = p;   // C4090
   q = r;
   r = p;   // C4090
   r = q;   // C4090
}