From: myun2 Date: Tue, 29 Nov 2011 08:54:03 +0000 (+0900) Subject: 配列の参照って、めっちゃ変な書き方しよるなぁ・・・ X-Git-Tag: 20111130_shapeup_prev^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=af98cc1f84ab2257ef9f3c89de0c78e84c9fa00a;p=roast%2Froast.git 配列の参照って、めっちゃ変な書き方しよるなぁ・・・ --- diff --git a/roast/include/roast/lexical/variable/array.hpp b/roast/include/roast/lexical/variable/array.hpp index 51a5b413..5d04b7a6 100644 --- a/roast/include/roast/lexical/variable/array.hpp +++ b/roast/include/roast/lexical/variable/array.hpp @@ -16,7 +16,7 @@ namespace roast struct array : public _basic_type { array(){} - array(const T[N] &v):_basic_type(v){} + array(const T (&v)[N]):_basic_type(v){} }; ///// @@ -25,28 +25,28 @@ namespace roast struct char_array : public array { char_array(){} - char_array(const char[N] &v):array(v){} + char_array(const char(&v)[N]):array(v){} }; template struct short_array : public array { short_array(){} - short_array(const short[N] &v):array(v){} + short_array(const short(&v)[N]):array(v){} }; template struct int_array : public array { int_array(){} - int_array(const int[N] &v):array(v){} + int_array(const int(&v)[N]):array(v){} }; template struct long_array : public array { long_array(){} - long_array(const long[N] &v):array(v){} + long_array(const long(&v)[N]):array(v){} }; /////// @@ -55,28 +55,28 @@ namespace roast struct uchar_array : public array { uchar_array(){} - uchar_array(const unsigned char[N] &v):array(v){} + uchar_array(const unsigned char(&v)[N]):array(v){} }; template struct ushort_array : public array { ushort_array(){} - ushort_array(const unsigned short[N] &v):array(v){} + ushort_array(const unsigned short(&v)[N]):array(v){} }; template struct uint_array : public array { uint_array(){} - uint_array(const unsigned int[N] &v):array(v){} + uint_array(const unsigned int(&v)[N]):array(v){} }; template struct ulong_array : public array { ulong_array(){} - ulong_array(const unsigned long[N] &v):array(v){} + ulong_array(const unsigned long(&v)[N]):array(v){} }; ////////////////////////////////////////////////////// diff --git a/roast/test/lexical_test/lex_var_test.cpp b/roast/test/lexical_test/lex_var_test.cpp index e1afd1c3..d2932f81 100644 --- a/roast/test/lexical_test/lex_var_test.cpp +++ b/roast/test/lexical_test/lex_var_test.cpp @@ -26,5 +26,7 @@ int main() printf("%d\n", aaa ); printf("%d\n", hugi.get() ); + int_array<4> ia; + return 0; }