鳳鳴は祖父の俳号

日記 メモ そんなの

GNU APL1.0 MacOSX10.8での作業メモ 8 NumericCell.cc

 2013/10/10時点でGNU-APLの最新ソースをダウンロードしてもう一回やり直してみたら、以下修正されていた。
・#include の削除
・struct sigactionの要素数が揃えてあった(main.cc APs/APmain.cc)

 で、きちんとやり直してみたらエラーは次の段階に。NumericCell.cc。

NumericCell.cc:337:6: error: no matching member function for call to 'real'
a.real(round(a.real()));
~~^~~~
/usr/include/c++/4.2.1/complex:1198:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real()
^
/usr/include/c++/4.2.1/complex:1202:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real() const
^
NumericCell.cc:338:6: error: no matching member function for call to 'imag'
a.imag(round(a.imag()));
~~^~~~
/usr/include/c++/4.2.1/complex:1206:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag()
^
/usr/include/c++/4.2.1/complex:1210:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag() const
^
NumericCell.cc:339:6: error: no matching member function for call to 'real'
b.real(round(b.real()));
~~^~~~
/usr/include/c++/4.2.1/complex:1198:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real()
^
/usr/include/c++/4.2.1/complex:1202:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real() const
^
NumericCell.cc:340:6: error: no matching member function for call to 'imag'
b.imag(round(b.imag()));
~~^~~~
/usr/include/c++/4.2.1/complex:1206:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag()
^
/usr/include/c++/4.2.1/complex:1210:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag() const
^
NumericCell.cc:371:11: error: no matching member function for call to 'real'
z.real(- a.imag());
~~^~~~
/usr/include/c++/4.2.1/complex:1198:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real()
^
/usr/include/c++/4.2.1/complex:1202:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real() const
^
NumericCell.cc:372:11: error: no matching member function for call to 'imag'
z.imag( a.real());
~~^~~~
/usr/include/c++/4.2.1/complex:1206:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag()
^
/usr/include/c++/4.2.1/complex:1210:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag() const
^
NumericCell.cc:381:11: error: no matching member function for call to 'real'
z.real(- z.real());
~~^~~~
/usr/include/c++/4.2.1/complex:1198:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real()
^
/usr/include/c++/4.2.1/complex:1202:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::real() const
^
NumericCell.cc:382:11: error: no matching member function for call to 'imag'
z.imag(- z.imag());
~~^~~~
/usr/include/c++/4.2.1/complex:1206:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag()
^
/usr/include/c++/4.2.1/complex:1210:20: note: candidate function not viable: requires 0
arguments, but 1 was provided
complex::imag() const
^

 ここの対処だけど以前教えてもらった方法で回避。
a.real(round(a.real()));

a.real()=round(a.real());
の様に書き換え。8箇所を同じ様に書き換えたらパスした。

次はQuadFunction.cc。

uadFunction.cc:633:20: error: use of undeclared identifier 'environ'
for (char **e = environ; *e; ++e)
^
QuadFunction.cc:769:41: warning: '&' within '|' [-Wbitwise-op-parentheses]
return ErrorCode(major << 16 | minor & 0xFFFF);
~ ~~~~~~^~~~~~~~
QuadFunction.cc:769:41: note: place parentheses around the '&' expression to silence this
warning
return ErrorCode(major << 16 | minor & 0xFFFF);
^
( )
QuadFunction.cc:778:16: error: variable length array of non-POD element type 'UCS_string'
UCS_string vars[var_count];
^
QuadFunction.cc:1163:16: error: variable length array of non-POD element type 'UCS_string'
UCS_string vars[var_count];
^

environ…何だ?
envp and extern char **environ