Why can't I directly assign an int to an int pointer like this: int *p = 6;?

Viewed 7115

error: invalid conversion from 'int' to 'int*'
int *q = 8;

Works fine.
*q = 6;

Why can't I directly assign an int to an int pointer like this: int *q = 6; and I can assign it safely in the next line?

13 Answers
Related