import std.stdio; void main() { { typedef int HWND; HWND hwnd = 0; int hoge; //hwnd = hoge; // error writeln(hwnd); writefln(typeid(typeof(hwnd))); writefln(HWND.sizeof); } writeln(); { struct HWND { alias handle this; private int handle; } HWND hwnd = 0; int hoge; hwnd = hoge; //writeln(hwnd); // error on format.d writefln(typeid(typeof(hwnd))); writefln(HWND.sizeof); } }
0 main.main.HWND 4 main.main.HWND 4
構造体HWNDをwritefln();するにはtoString()を定義すればいいけど数値を文字列に変換する関数やライブラリを導入しないといけなくなるな.