[Top]
このページは、たわいのない日々のウワゴトを綴るページです。
なんてツマラナソウナページなんだ(笑)
一応、内容毎にタイトルの色を変えています。
緑色はlinuxに関する話題、
黄色はコンピュータゲームに関する話題、
水色はその他の話題になっています。
なお、スタイルシートに対応していないブラウザでは、
色は変わりませんのであしからず。
VisualC++2008ExpressionEditionで、以下のような
#include <iostream> #include <stdarg.h> void hoge(const int &a, ...) { va_list arg; va_start(arg, a); int n = va_arg(arg, int); while (n >= 0) { std::cout << n << std::endl; n = va_arg(arg, int); } va_end(arg); } hoge(1,2,3,4,5,6,-1);
プログラムを書いても、思うように動いてくれない。
(2,3,4,5,6」と出力するはずが、何も出ない)
どうも、参照渡しの引数の後の可変長引数の関数を作ると、おかしいようだ。
何か情報はないものか、とgoogle先生に尋ねたら、ようやっと一件だけ見つかった。
http://pg-torch-ic.jugem.jp/?cid=1
ただ、「x86系プロセッサでは」と言っているけど、自分が調べたところでは、
cygwinのg++(3.4.4、4.3.4)、ubuntu10.04-i686のg++(4.4.3)、あと、
詳しくは言えないけど某ターゲット(x86系じゃないけど)のCodeWarriorだと、
ちゃんと動いてくれるんだよなぁ。
VisualC++だけなんじゃ(笑)
それとも、コード自体に問題があるのかなぁ。
This document was generated by KKDiary system (v0.3).
last modified: %LASTMODIFIED%.
[Top]