...
Code Block | ||
---|---|---|
| ||
enum { max = 15 }; int a[max]; /* OK */ const int *p; p = &max; /* error: '&' on constant */ |
Exceptions
DCL00-EX1 Constant values that may be passed as compile-time arguments must be macro definitions, as shown by this example:
Code Block |
---|
#ifndef MYPORTNUMBER /* might be passed on compile line */
# define MYPORTNUMBER 1234
#endif
|
Risk Assessment
Using ordinary variables to hold constants instead of using enumeration constants or const
-qualified objects can result in a value intended to be constant being changed at runtime.
...