[mew-dist 28464] Re: D な smew
Masamichi HOSODA
trueroad at example.com
2008年 6月 1日 (日) 10:17:21 JST
細田です。
> 後学のために、どうして const() を付けるべきだと思い至ったのか、教えて頂
> けませんか?
Windows で DMD 2.014 を普通にインストールして、何も設定せずに
dmd -c Sqlite3DB.d
としたところ、
Sqlite3DB.d(49): function Sqlite3DB.sqlite3_prepare (sqlite3*,char*,int,sqlite3_stmt**,char**) does not match parameter types (sqlite3*,const(char)*,uint,sqlite3_stmt**,char**)
Sqlite3DB.d(49): Error: cannot implicitly convert expression (toStringz(cast(const(char)[])sql)) of type const(char)* to char*
Sqlite3DB.d(100): function Sqlite3DB.sqlite3_open (char*,sqlite3**) does not match parameter types (const(char)*,sqlite3**)
Sqlite3DB.d(100): Error: cannot implicitly convert expression (toStringz(cast(const(char)[])file)) of type const(char)* to char*
といわれたので、とりあえず const をつけてみた、というところです。
他のファイルは何の Error も Warning もでませんでした。
Sqlite3DB.d も、先の patch のように const をつけると何もでなくなりました。
細田 真道 (HOSODA Masamichi) mailto:trueroad at example.com
Key fingerprint = EA37 AD8B 1E7A 22BA 90CF 7D77 EE86 7CF8 9B02 4E94
Mew-dist メーリングリストの案内