C++,下面哪个选项是错误的,答案为C,求解为什么

下列的符号常量定义中,错误的定义是()
A const M = 10
B const int M = 10
C const char ch
D const bool mark = true

我觉得A和C都错啊!一个没有声明一个没有初始化!

C99标准中这样规定:

A variable declared without an explicit type name is assumed to be of type int.

选项A等同于:

 const int M = 10 

所以答案是A和C

用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

a没有类型,应该也是错的