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