printf の第2引数に文字列リテラルを渡すと実行時エラーになる [D言語]
こんなコードを書いた。
import std.system;
int main(char[][] args)
{
printf("sytem endian=%s\n",
endian == Endian.BigEndian ? "BigEndian" : "LittleEndian");
return 0;
}
その結果
sytem endian=Error: Access Violation
うーん、なんでダメなの。
ていうか、ひょっとしたらCでもダメなんだっけ?と思ってCで同じようなことをやってみたけど普通に動く。
D言語の仕様?Dコンパイラのバグ?
コメント 0