D言語 Part20

このエントリーをはてなブックマークに追加
108デフォルトの名無しさん
すみません、ちょっと質問させてください。
Tango & DFLを使っています。
"main.d"

import win32.core;

void main()
{
 Beep(440, 1000);
}

というのを"dfl -gui main.d"だとうまくコンパイルできるのですが、
"dsss build -gui main.d"とすると
C:\tango\bin\..\import\win32\winnt.d(47): template instance
forward reference to template declaration CPtr(T)
とエラーが出ます。どうすればいいでしょうか。
109デフォルトの名無しさん:2008/11/24(月) 20:02:48
template instance forward reference to template declaration CPtr(T)
110デフォルトの名無しさん:2008/11/24(月) 20:31:17
>>106
http://www.kmonos.net/alang/d/2.0/const3.html
>初期化子を与えていない場合、 invariant を対応するコンストラクタで初期化することが可能です:
例がstatic thisで分かり難いけど一応書いてある

>>107
自前もいいけど共通なテストライブラリは欲しいとは思う
assertだけじゃなくて,Mockとかbehaviorなものとか
111デフォルトの名無しさん:2008/11/24(月) 20:46:33
>>108
バージョンの情報とかがないから何とも言えませんが
dsssの問題かもしれません。dmdだけでいけるか試してみるといいと思います。
その程度のコードなら
dmd win32.lib main.d
とかでいけるはず。
112デフォルトの名無しさん:2008/11/24(月) 21:16:07
>>109
「テンプレートの宣言の前にテンプレートが参照されている」
ということでしょうか?
win32\basetsd.dを修正してみたところ、うまくいきました。
ありがとうございます。
113デフォルトの名無しさん:2008/11/24(月) 21:18:17
>>111
その方法でも大丈夫ですね。
ありがとうございます。