2次元配列で参った

#include <stdio.h>

void print3x3Matrix(const long m[][3])
{
	printf( "--- matrix ---\n" );
	printf( "%3ld, %3ld, %3ld\n", m[0][0], m[0][1], m[0][2] );
	printf( "%3ld, %3ld, %3ld\n", m[1][0], m[1][1], m[1][2] );
	printf( "%3ld, %3ld, %3ld\n", m[2][0], m[2][1], m[2][2] );
}

int main(int argc, char *argv[])
{
	long matrix[][3] = {
		{  0,  1,  2 },
		{ 10, 11, 12 },
		{ 20, 21, 22 }
	};
	print3x3Matrix( matrix );
	return 0;
}

で、これをコンパイルすると、
warning: passing argument 1 of ‘print3x3Matrix’ from incompatible
pointer type

13行目にconst付けて宣言するか、
関数の引数からconstを取ると、このwarning消えるみたい。
こういうコードを多々書いてきて、warning出た事ないから、
地味に焦ってたり。
ちなみに環境は、

Mac OS X 10.6.5, Intel Core 2 Duo
gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~89/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)

このままだと、一人Advent Calendarが頓挫しちゃう、
ってのはどーでも良い話だけど、お願い助けてエロい人!

気が向いたら、助けてくれると幸いです。
おやすみなさい。

Leave a Comment