Consider the following test program:
static void func(int a)
{
}
int main()
{
unsigned int b = 42;
func(b);
return 0;
}
Compiling it with gcc:
lol@mac:~/projects$ gcc -Wconversion testit.c testit.c: In function âmainâ: testit.c:11: warning: passing argument 1 of âfuncâ as signed due to prototype lol@mac:~/projects$
But, g++ there is no warning!:
lol@mac:~/projects$ g++ -Wconversion testit.c lol@mac:~/projects$
What is the reason for this and is there anyway to get the same warning when compiling C++ code?