[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 メーリングリストの案内