Intel C++ Compiler warning 167 when non-const argument is passed as const parameter [duplicate]
This question already has an answer here: Why isn't it legal to convert “pointer to pointer to non-const” to a “pointer to pointer to const” 5 answers I have a large codebase that recently moved from Microsoft's compiler to the Intel C++ Compiler. Our team's goal is compilation without warnings in the mainline. Since the switch, one instance of warning 167 has confounded me. If I compile the following code: int foo(const int pp_stuff[2][2]) { return 0; } int foo2(const int pp_stuff[][2]) { return 0; } int main(void) { int stuff[2][2] = {{1,2},{3,4}}; foo(stuff); foo2(stuff); return 0; } The