やってしもうた・・・
VS2003→VS2005に完全移行
VS2003をアンインストールしてから気がついた
.NET1.x向けアプリのメンテができないってどういうことよ('A`)
こんな別物なら製品名変えてくれよも後の祭りorz
>>681 馬鹿?
当分の間、古い開発環境も残すのは常識じゃん。
V$系はバージョン違いを共存できないっしょ。
>>670 すでにSSE/SSE2処理関数が完成してて今後メンテナンスする必要がないのなら、応急処置として __emit を使う手もある。
簡単に言うとasm文の中に任意のバイナリコード(アセンブル後のコード)を埋め込んでしまう方法。
でも自分ならSSE/SSE2処理関数をDLLに追い出してVC++でコンパイルするかな。
(VisualC++ 2005 Express Editionなら無料だし)
>>681 古い開発環境はVMwareやVirtual PC使ってまるごと保存管理するといいよ。
689 :
本田:2006/09/08(金) 01:22:23
>>674 >
>>672 > ありがとうございます。
> NASMとの組み合わせでは、インラインアセンブラはできないみたいです。
> 厳しい・・・
インラインアッセンプラを使ってる所から、
SSE,SSE2のニーモニックコードを削除して、
コンパイルできるようにして、
アッセンブリ言語を出力する。
出力されたアッセンブリ言語に、
SSE、SSE2ニーモニックコードを加える、
それをNASMでアッセンブルする。
-Eでmasmなりを指定しても良さそうだし
適当なところに asm include mymacros.inc みたいな感じでも
出来そうな気がするけど。
masmを代替アセンブラとして使えるように
アセンブラ出力に ifdef ??version とかが入ってるわけだし。
よーわからん、ターボ君は無料?
で、boost使えますか? BCB6なんだが、安いなら自宅用に買うかな
BCBからのバージョンアップは28,000円か
BCBからBDSへは29800円でしたw
695 :
デフォルトの名無しさん:2006/09/09(土) 10:28:38
paradox7なんですが、フィールド名に「1個目」ってのを使ったら
SQLの問合せで不具合を生じて困ってます。
SELECT 1個目 FROM mytable;
で、結果が
個目
1
1
1
1
1
1
1
ってなってしまいます。
ちゃんと1個目として認識させるにはどうしたらいいのでしょうか?
697 :
695:2006/09/09(土) 11:50:52
わかりません><
本屋で入門でも買えよ
699 :
デフォルトの名無しさん:2006/09/09(土) 12:30:33
意地悪><。
>>692 サンクス、まず家でやって会社で提案かな〜〜
>>695 SQLはよく知らんが別に結果はそれでいいんじゃないのか?
702 :
695:2006/09/09(土) 15:41:37
もういいです。><
フィールド名変えました
ネーミングセンスもプログラミングセンスもない香具師だな
フィールド名って最初に数字来てもいいんだっけか?
みんなフィールド名って言うんだな。
ややこしいからカラムで良いじゃん。
列名
707 :
477:2006/09/10(日) 02:46:06
超初歩的で申し訳ないのですが原因が良く分からないので・・(一部省略してます)
[HogeClass.h]
#ifndef HogeClassH
#define HogeClassH
//---------------------------------------------------------------------------
class Hoge{
private:
public:
Hoge( void );
~Hoge( void );
}
[HogeClass.cpp]
//---------------------------------------------------------------------------
#include <vcl.h>
#include "HogeClass.h"
//---------------------------------------------------------------------------
Hoge::Hoge( void )
{
}
Hoge::~Hoge( void )
{
}
コンパイルするとHoge::Hoge( void )のコンストラクタの行で
[C++ エラー] HogeClass.cpp(10): E2111 ここでは型 'Hoge' は定義できない
[C++ エラー] HogeClass.cpp(10): E2136 コンストラクタには戻り型は指定できない
と怒られるのですが、何故なのでしょうか・・orz
708 :
デフォルトの名無しさん:2006/09/10(日) 02:46:39
失礼、名前欄は無視して下さい
void 全部消してごらん
あとヘッダ側の最後の}の後ろに;がないな
>>709-710 ヘッダの最後の;が抜けていたのが原因だったようです
ありがとうございました
メインスレッドから生成したTThreadのクラスに値を渡すのと
TThreadのクラスからメインスレッドへ値を返すには具体的にどのようにやればいいのでしょうか?
現在はメインスレッドにpublic変数を定義してTThreadのクラスから参照していますが
よくないやり方のような気がしてならないのです
>>712 TThreadを継承したクラスを作ってるはずだからそっちに受け渡し用のメンバ関数を作ればいい。
べつにメイン側にメンバ関数を作ってもいいと思うが。
言うまでもないと思うがスレッド間の同期には気をつけるように。
>>713 レスありがとうございます
試行錯誤してみます
SAFE_DELETE()が定義されていない関数と言われるのですが
何かinclude必要なものありましたっけ?
SAFE_DELETE()が定義されていない関数と言われるのですが
何かinclude必要なものありましたっけ?
全く参考になるサイトがありませんね
一目瞭然ですけど。
721 :
デフォルトの名無しさん:2006/09/11(月) 04:10:35
ほぼ同等の機能を持つモノの単身が28000円
は高杉なんすけど
一度BDS2006であの値段出してるんだから
UGは2万円以下にすべき
俺は買わんぞ
BDSの方がお買い得ですかね?
正確に言えば、6月までのBDS優待販売が一番お得だった
今のTurbo Proの値段見たら、Highlanderの発売を待つよな
もともとサードパーティーのコンポーネントは使わないんだよなー
そうすると無償版で十分
自作コンポも使えないじゃん。
自作コンポも使わんよ
728 :
デフォルトの名無しさん:2006/09/12(火) 16:09:56
どうでもいいけど、テンプレにある
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/ TAdvStringGrid,TAdvColumnGridは100万行・列まで対応してるらしいぜ!
自pcで試したら、メモリ不足って言われてメイクで落ちたが・・・orz
Turboも使わんよ
BDS2006あるからね。
1行レスの低能アンチさん達乙
Borlandスレのアンチにソックリだが、まさかそこから来たんじゃないよな ま、思考方法が同じなんだと思う
もうちょっと中身のある文章書いた方が利口に見えると思うよ
732 :
デフォルトの名無しさん:2006/09/13(水) 06:21:55
AnsiStringのメンバ関数「Format」の使い方がわかりません。
すみませんが、教えていただけないでしょうか?
また、このような基本的な事は、どのように調べたらよいのでしょう?
(オンラインヘルプでは意味不明なのですが、ふつうそれで
理解できるものなのですか)
>>732 BCB Format でググればいろいろ出てくる。
とりあえず、C/C++屋はAnsiString.spirntf()の方を使えばよい。
でも735は731の3分の1の内容も無いからなぁ。
ゼロの3分の1でもゼロだから、いっしょ
>>735 wwwwww
ワロタwwまた見事に1行レスだよwww
これでオマエがどうして低能って言葉に骨髄反射しちゃう人間なのか 良くわかっちゃたwwwwwww
>おまえは3行書いても中身がないな
いやいや、他人に事実を指摘してあげることは、中身のあることだよ 何を言ってるの?www大丈夫?
リアルで低能なチンカス だったんだね ホントにかわいそうw
うまく切り返したつもりで、自分がゼロって認めちゃった人がいるね。
>>731 はゼロでも3行書いてる分、アホさも3倍だよね
__ __ n _____ _____ ___ ___ ___
| | / / / / / | /__ __/ [][] _| |_| |__ _| |_
| |. / / /⌒ヽ/ / / ̄ ̄|. l / / | _ | |_ レ'~ ̄|
| | / / ( ^ω^ ) / /. / / | |___  ̄| | / / / /| |
| | / / ノ/ / ノ /  ̄ ̄ / \__| | |  ̄ /_ / | |_
| |. / / // / ノ / / ̄ ̄ ̄ |_| |__| \/
| |/ / ⊂( し'./ / /
|. / | ノ' / / ニュー速VIP
| /. し' ./ /
http://ex14.2ch.net/news4vip/  ̄ ̄ ̄  ̄ ̄
相談するだけで叩かれるのを承知でお尋ねします。
*Value++ と (*Value)++は
どう違うんでしょうか?
void Loop(int *Value,bool flag)
{
if (true) *Value++; else *Value--;
*value=0;
}
をi=0;Loop(&i,true);で呼び出してみ?
あ、引数flag関係なかった。
void Loop(int *Value);だけでいいや。
>>742 まあ、基本的に、
*Value++
なんて他の人がわかりづらいかもしれないコードは書いちゃだめだよな
なんとなく、ストアと同時にインデックスレジスタをインクリメントしてくれる気がするから
*p++ という表現は嫌いじゃないな。
void strcpy(char *src, char *dst)
{
while(*dst++ = *src++);
}
バッファオーバーラン一直線
751 :
デフォルトの名無しさん:2006/09/15(金) 10:20:31
>>748 これってどうなったらwhileから抜けるの?
>>751 あのwhile文を意訳すると、
if ( 偶然一致 || GPフォルト )
という文になる。
753 :
デフォルトの名無しさん:2006/09/15(金) 13:36:59
>>752 アレ?代入って偽になることあるんですか?
偶然一致って?
評価されるのは *dst でこいつが0(偽)になったら終了っていいうループでないの?
結局、
*Value++
なんて書くと混乱させまくるということが証明されちゃったなw
>>748 これ、K&R(これが発祥地だが)でも禿本でも普通に使われているんだよな。
わかってる人間にとっては簡潔で可読性の高い表記なんだ.が。
>>753 代入式は代入後の左辺値が評価される
これが分からないと
void __fastcall TForm1::Button1Click(TObject *Sender) {
if ( TButton* p = dynamic_cast<TButton*>( Sender ) { ... }
}
こういうBCBの定石も使えない
エラー E2377: If文に ) がない(関数 _fastcall TForm1::Button1Click(TObje
ct *) )
>>751 NULL文字をコピーした時点。(文字列をコピーし終わったら)
>>748の場合、whileで評価されるのは *dst
NULL文字は0x00だから、falseになる。
ポインタ以外にNULLという表現を使うなんちゃって野郎が居るから
初心者がさらに混乱する
NULL(ぬるぽ) と '\0'(ぬるこーど) の違いを分かってない香具師多いよね
っつーか「ぬる」っつーのも誤読だ死ね
>>760 ポインタを値と考えると、NULLは0以外のなにものでもないから、あながち間違いでもないけどな
VC6でDLLを作成してそれをC++Builder4で使おうとしています。
色々調べたのですが、まずは簡単な
変数:nPCLIB
関数:fnPCLIB()
関数と変数が入ったDLLを作ろうと思い、次のことを試しました。
1.VCでDLLを作成
・作ったDLLのdumpbin結果
1 0 00001005 ?fnPCLIB@@YAHXZ
2 1 00032A78 ?nPCLIB@@3HA
→修飾された関数・変数名がEXPORTされている
2.impdefで1.で作ったdllからdefファイルを作成する
・defの中身を見ると
LIBRARY PCLIB.DLL
EXPORTS
?fnPCLIB@@YAHXZ @1
?nPCLIB@@3HA @2
→当然defファイルを作るとDLLと同様に修飾されている
3.defファイルの修飾を外してVCに追加し、DLLを再ビルドする
・defの中身(修正後)
LIBRARY PCLIB.DLL
EXPORTS
fnPCLIB ←修飾を外したつもり
nPCLIB
・新DLLのdumplib結果
1 0 00001005 fnPCLIB
2 1 00032A78 nPCLIB
→修飾が外れているように見える
4.implibで3.のdllからBuilder用のlibファイルを作る
ちなみに3.のdllからもう一度defを作ると、中身は
LIBRARY PCLIB.DLL
EXPORTS
fnPCLIB @1
nPCLIB @2
→??また修飾(序数)がついてる??
5.Builderでヘッダーをincludeし、3.のdllをコピーしてきて、
4.のlibファイルをプロジェクトに追加してビルドする
ヘッダーの中身
#ifdef PCLIB_EXPORTS
#define PCLIB_API __declspec(dllexport)
#else
#define PCLIB_API __declspec(dllimport)
#endif
extern PCLIB_API int nPCLIB;
PCLIB_API int fnPCLIB(void);
→名前解決ができていない!と怒られる
DLL内の関数名が修飾されたままで一致しないのが原因かと思っているのですが、
defファイルを直してもまた戻ってしまうようでどうすればよいか行き詰ってしまいました。
長い上に詳しい方から見ればアホな質問かもしれませんが、ずっと悩んでます。
ヒントでもいただければとてもうれしいです。
「だから何なのか」を書かないのは
無関係な引用でハッタリかます時の基本だね。
だから何なのか
だから「バカは有名なC FAQすら知らない」ということがわかる。
>>764 extern "C" とimplib(必要なら-a付き)じゃ駄目なのか?
何がだからなのか
それがどうしたの?
いやまあ、バカがバカさ加減を晒すのは自由だしね。
ここは2chだし。
こうしたの。
>>765 それはNULLマクロを、ポインタ以外へ使うなって事でしょ。
"NULL文字"って言葉を使うなって意味じゃないよ。
'\0'の、一般的な呼び方だよ。
その"NULL文字"って言葉を使っているのが、「わかってない証拠」だよ。
'\0'はNULであって、NULLではないよ。
なんで ぬるぽ のことになるとみんなむきになるのかな
char *p;
p = NULL; // OK
p = '\0'; // bad
*p = '\0'; // OK
*p = NULL; // bad
>>775 宗教論争はどさくさ紛れに馬鹿でもそれっぽく参加できるからね。
NULLに関しては宗教論争じゃなくて、理解しているかいないかの違いだけだがな。
C++ビルダー6でさ、XP風のボタンにすることできますか?
デフォでは四角い3Dボタンじゃなく、白くてカーソル当てたら周りがオレンジになるボタン
Jediコンポーネントはあるが、ボタンのためにEXEがでかくなりすぎる
そのまんまのBCB6でできるのかな?
>>779 うん、そういう「設定」で参入してるんだろうなぁってのは容易に想像がつく。
↑こういうのを、どさくさ紛れに参加してる馬鹿って言うんだよね。
↑こういうのもね
>>777 本来はその通りなんだよね。
・NULLは空の意味(内部表現で値0を使う)
・\0は全bitが0のコード
・0は整数値としてのゼロ
C言語を高級アセンブラとしてしか見ない人には
意味的にも、NULLと\0と0は一緒だとしてしまう。
>>786 むしろ、C言語を高級アセンブラとしても見られる人が、
意味的にも、NULLと\0と0は一緒だと思うことができている、だと思うんだが。
難易度はそっちのほうが難しいし。
そーゆー、学習しづらい値と参照の境界をわかりやすくすっぱり分けたのがJAVAとかだろ。
どう見ても、区別がついてない人が暴れていただけです。
連休だしね。
789 :
デフォルトの名無しさん:2006/09/18(月) 11:01:25
結局、NULLと¥0と0は同じものって結論なの?
¥0と0はメモリーブロックにあり0x00て値が入っているってことでなんとなく
納得がいきそうだけど、NULLはどうなの?メモリーに存在しているの?関数とかで該当があれば該当があるポインタを返し、なければNULLを返すってものがあるからNULLって数値(ポインタ)がありNULLが指す値がありそうな気がするけど。
790 :
デフォルトの名無しさん:2006/09/18(月) 11:10:12
789続き
>>777 の方法で(pはint型だからp='¥0' ’char型’だから代入できない)
p=0;
printf("%c",*p);
p=NULL;
printf("%c",*p);
はコンパイルできないで、わかる人だれか押しえてください。
そういえばNULLって使ったことないや。
#define NULL <either 0, 0L, or (void *)0> [0 in C++]
どう見ても宗教論争です。本当に有り難うございました。
論争中もうしわけないんですが、VirtualTreeViewがgemから落とせません。
なくなってしまったのでしょうか?
どいつもちゃんと回答できないようだね。
知ったかぶりして毒はいてるだけじゃん。
*p++と(*p++)の違いが、説明できてない。
VCだと変わんないんだよ実際。
>>795 皆わかってるから。出しゃばんなさんな厨。
>>795 >*p++と(*p++)の違いが、説明できてない。
誰もそんなこと問題にしていない
いや、ちょっとまて
>*p++と(*p++)の違い
違わんだろ、これはw
吹いた
要するにBCBだと違うと言いたいのだろう。
803 :
795:2006/09/18(月) 18:34:14
>799
すまん間違えた。
(*p)++だ
一瞬、「NULLと'\0'の違いなんて、*p++と(*p++)の違いと同じ」と言ってるのかと思ったが
本当にろくな知識がないまま適当なこと言ってバカ晒してるだけみたいだね。
805 :
795:2006/09/18(月) 18:36:40
806 :
795:2006/09/18(月) 18:38:28
>>804 俺が悪かったから、もう勘弁してくれ。
ただ、ちゃんと説明しろよ。
たとえ*p++と(*p)++が違うということを言っているのだとしても
そんなのNULLと全然関係ないんですけど。
どういう思考回路でそんな話になるのか理解できないね。
とりあえずC FAQを一通り読んでから、偉そうなこといいなよ。
808 :
795:2006/09/18(月) 18:45:15
NULLの話なんて一切してませんけど?
どっからその「誰もしていない*p++の話」が沸いて出たの?
そりゃ、
>>795の言うように*p++と(*p)++の違いなんて誰も説明出来てないよ。
だって誰も説明してないし。
何故なら誰も質問してないし、誰も話題に出してないから。
あ、もしかして
>>806は、自身が質問してるの?
811 :
795:2006/09/18(月) 19:01:25
>>742を実際にやってみて、おかしくなったから。
BDS2006です。BCB6とかはやってないけど。
んで、その後のレスがなんの解決にもなってなかったから。
んで、読み返して終わってるのに気付いて、805の発言。
ただ、解ってるんだったら、毒じゃなくてきちんと説明しろよと。
要するに毒吐いている奴は無知なくせに他人を攻撃してるだけ。
だから無知じゃないんだったらちゃんと説明できるでしょ?
いや、それはさすがにどんな入門書にも書いてあるでしょうが、
前者は、Valueの中身を参照してから、Valueを+1する
後者はValueの中身を+1する
自分でもどれほどバカな質問か
つまり、ちょっと調べるだけですぐわかる質問である、ということを
わかっているみたいだけど
>>811 すでに答えがあるじゃん
>>801 これ見て意味がわからなかったら、それはC/C++を一から勉強しなおすしかない
それはスレ違いの話題だから続けるなら適当なスレに移動すべし
815 :
795:2006/09/18(月) 19:16:09
>>812 待ってました。マトモな意見。
ただ、引数しか触ってないんですよね。代入文の右辺がp*++です。
>>744だと、
何故、条件文が無いと上手く動くのかも不明なんですけど。
trueもfalseも無視して、関数全体の記述が全て無効になるのかも。
816 :
812:2006/09/18(月) 19:23:00
「まともな」って、おまえの頭、ほんとにお花畑だな。
794までの20レスくらいの流れのなかで、おまえが742だとわかる人が
おまえ以外に何人いると思ってるんだよ。
世界が自分中心に回ってるみたいでうらやましいよ。
自分がどんなコードを書いたか、どんな引数を渡したか
まだまだエスパー募集中ですか?
「マトモな意見」と言うわりには、その「マトモな意見」の内容を
理解しようとはしないんだなw
818 :
795:2006/09/18(月) 19:32:39
742じゃないんですけどね。
いや、ちゃんと答えようとしていた人があなただけだったんで。
実際には
>>813のところを反芻して解ったんですけどね。
>>813の人ありがとうございました。
ここって相談とかする場所ですね?知識のない人を攻撃する場所
だと思ったんですが。
まぁ2Chってそういう場所だって事はわかってるけどね。
まぁ、他人を攻撃して優越感に浸りたいだけなんだろうが、
自己解決したんでもういいです。
819 :
デフォルトの名無しさん:2006/09/18(月) 19:36:28
812がキチンと説明できてるとは到底思えぬ。
820 :
デフォルトの名無しさん:2006/09/18(月) 19:37:36
あと、795も本嫁。
821 :
812:2006/09/18(月) 19:39:40
一応書いとくけど、
>>804や
>>810とか、もちろん
>>813も俺だから。
たとえおまえが742本人でないとしても、
他の人には
>>795と
>>742の関係なんか全然わからないのだから
おまえが「他の人には見えないものが見えている」のは間違いないよ。
そもそもここはC++Builderの相談室なんだけどな
823 :
795:2006/09/18(月) 19:48:51
解ったらもういいや。
はい、ごくろうさん。
日頃の生活の中にプライドの満たされ所を一切持たないまぬけほど、
こういう場所でその分を取り返そうとして「絶対引かない」姿勢を見せるんですよ。
そうなったらもはや、スレの主旨なんておかましなしなわけです。
まぬけですからね。
825 :
デフォルトの名無しさん:2006/09/18(月) 19:56:40
いや、ちょっとまて...
if (true) *i++; else *i--;
これ両方無視されるぞ?
iは使われてませんとか言われるし、やっぱり変じゃない?
ほかの変数との絡みのない変数は使われていないも同然だからです。
827 :
795:2006/09/18(月) 20:06:08
>>823 こういう輩もいるわけで...
812と813が同じ人だったらスミマセンでした。
メソッド内でTStringListを使うとき
TStringList *HogeList = new TStringList()
try{
}
__finally{
delete HogeList;
}
という感じで記述しますが、
HogeListを同クラス内の各メソッド間で自由に参照するには
どこでどのように記述すれば良いのでしょうか?
ヘッダーのprivateでTStringList *HogeList;
クラスのコンストラクタでnew、デストラクタでdelete
適当なメソッド内でHogeListの操作を行うように記述してみた所
コンパイルは通るのですが、
実行するとHogeListを参照する所でEConvertErrorが発生しました。
気になってやってみたけど、まぁやってみてよ。
>>742の人が書いている
>void Loop(int *Value,bool flag)
>{
>if (flag) *Value++; else *Value--;
>*value=0;
>}
をi=0;Loop(&i,true);で呼び出してみ?
で、ifの行を抜けば、0が帰る。
ifがあるおかげで、0も戻らないというのはどういう仕組みだ?
*value=0; はどこ行った?
まさか、変な事をした時点でreturnのコードを勝手に作るとか?
これって、
>>826とか、*p++と(*p)++がどうとか関係ないよね。
>>829 if文の行でポインタ自身の値がどうなるか
考えてみたか?
>>829 結局
>>812-813が全然理解できてないんじゃん
あ、また自称別人かw
なお、void Loop()に戻り値があるわけない
帰るとか戻るとか訳のわからんことを言うな
結論としては、
他人が見る可能性のあるコードは、
十二部にかっこをつけるなりしてわかりやすいコードにしろということだな。
十二部ってなに?
十二分でした 失敬失敬
そろそろ他所でやってくんない?
>>828 そら
>実行するとHogeListを参照する所でEConvertErrorが発生しました。
そこんとこでだめなことしてるんでそ
わかんなきゃそこんとこのソースさらすこと
>>836 大体こんな感じです
class Hoge{
private: TStringList *HogeList;
}
---
void Hoge::Hoge(){
TStringList *HogeList = new TStringList();
}
void Hoge::~Hoge(){
delete HogeList;
}
void Hoge::AddStr(){
HogeList->Add("TEST"); // ここで EConvertError, 「書式文字列"%s"は正しくないか引数の型と一致しません」
}
:
:
HogeList->Add(AnsiString("TEST"));
>>838 それでもやはり例外が出ました。
うーん何がいけないのだろう(;´Д`)
今、手元にBCBが無いのでなんとも言えないんですが、
TStringListとAdd(AnsiString);
の間にもういっちょ何か要るって事はない?
例えば、ImageとPenの間にCanvasが無いみたいな。
(これはコンパイラ通らないけど)
単に文字列をAddするだけなら
TStringList->Add(AnsiString);
newされる前にAddしてるんじゃないのか?
そもそもそこでEConvertError例外が来ることが信じられない
844 :
837:2006/09/19(火) 21:17:10
信じられないかもしれませんが実際起こってます。
まともに動くものが作れる方がいましたら書いていただけないでしょうか?
他人デバッグ
Hoge::Hoge() コンストラクタの HogeList 変数はメンバーじゃないのでは
>>837 >大体こんな感じです
エラーが起きたコードをそのまま張れヴォケ
>HogeList->Add("TEST"); // ここで EConvertError, 「書式文字列"%s"は正しくないか引数の型と一致しません」
どこに書式文字列がある?
書式文字列のある、ConvertErrorをおこしたそのコードをさらせこの池沼
>>847 それは賛否両論だし。わざわざ他人にも解りやすく要点をまとめてくれるんだろうに。
お前のような慇懃無礼なヤシに教わろうとも思ってないだろう。
書式文字列なんて書いていないのに、そのエラーが戻ってきてるんでしょ。
再現する最小限のコード
これが大切。
>慇懃無礼
>>850 なんですかその
カチンと来たけどケチつける口実思いつかないから
その肝心のこじつけを人任せにする負け犬っぷりわ
慇懃無礼は目も当てられないほどの甚だしい誤用だけども、
>>847が慇懃でかつ無礼であるのは、言いえて妙かもしれんw
853 :
837:2006/09/20(水) 01:17:34
>>853 警告読もうぜw
ついでに 846 も読んであげるといいと思うけど。
>>837の方のソースでいくよ
>void Hoge::Hoge(){
>TStringList *HogeList = new TStringList();
ここで新たにTStringList* HogeListを定義してしまっている
これはHogeのメンバであるHogeListとは別の変数として定義されている
Hoge::HogeListを初期化するなら
HogeList = new TStringList;
でないとダメ
Hoge::HogeListが初期化されてないからそれを参照しようとするとエラーが発生する
しかしEConvertErrorではないはずだが?
EConvertErrorを起こしているのは別のところだよ
それはその部分のソースを提示してくれないと判断できない。
あと、エラーとは直接関係ないが、
>void Hoge::Hoge(){
なんでコンストラクタに戻り値が?
857 :
856:2006/09/20(水) 01:39:34
かぶったか
858 :
856:2006/09/20(水) 01:42:57
つっこまれるまえに
×なんでコンストラクタに戻り値が?
○なんでコンストラクタにvoidを明示する?
まあ、原因がぬるぽだという事がわかってよかったね(^^)
860 :
837:2006/09/20(水) 01:48:50
お蔭様で解決できました。
>>void Hoge::Hoge(){
>なんでコンストラクタに戻り値が?
こちらの表記ミスです。
ちなみに先ほど新たに1から書き直したものが
>>853です
>しかしEConvertErrorではないはずだが?
私の環境ではAdd関数を行うメソッド(AddStr())(
>>853ではButton1Click)を呼ぶまでは問題なく
呼んだ瞬間に間違いなくEConvertErrorが出ています。
指摘して頂いた
TStringList *HogeList = new TStringList();
を
HogeList = new TStringList;
に書き換えた所問題なく動作しました。
レス下さった方、長々とお付き合いありがとうございました。
他人デバッグ
しばらくは this->HogeList = ... とか書いた方がいいんじゃねーの?ww
実際、こう書く奴がいてさ、this->m_str ってアホかwとか思った。
補完がきくから、長いメンバー変数の入力が楽、という利点はあるので、
馬鹿にするだけのものではないと思うが。
人のことアホっていう奴がアホって、おばあちゃんが言ってました。
ちなみに、関西では褒め言葉。
865 :
862:2006/09/20(水) 18:41:36
ああすまん、m_ のプレフィクスと this-> の併用がおかしくてな。
話が通じないほど端折り過ぎた事は認める。
this-> つけるのは、俺は冗長だと思うから皮肉で言ったのだが、そういう利点もあるなら、記憶クラスも分かってない奴ようなにはお勧めなのかもな。
ファイルのタイムスタンプを調べるためにFindFirst()を使っているのですが
返される値の読み方がよくわかりません。
AnsiString ReturnTimeStamp(AnsiString Path){
if ( FindFirst( Path, faAnyFile, sr) == 0 ) {
return sr.Time;
}else{
return "FileNotFound";
}
}
例えば8月29日6:26のファイルの場合891106163と返されます。
ヘルプを見ても検索してもいまいち参考になるものが見つからなかったのでご教授よろしくお願いします。
↑
TSearchRec sr;
が抜けてました
さらに修正申し訳ない
sr.Timeは整数値ですね・・
× AnsiString ReturnTimeStamp(AnsiString Path){
○ int ReturnTimeStamp(AnsiString Path){
× return "FileNotFound";
○ return 0;
>>866 FileDateToDateTime で変換する
>>866 WindowsAPIのFindFirstFile使う手も
こっちは2GBオーバーの巨大ファイルのサイズもきちんと取れる。
タイムスタンプはFileTimeToSystemTimeでSYSTEMTIMEに変換すれば簡単に取れる。
>>869-870 なるほど、参考になりました。
あと、
>>866のはFileCloseもしなきゃいけませんね・・
ありがとうございました。
FindFirst()でも2G超ファイルサイズは取れるけどね。
873 :
本田:2006/09/21(木) 06:56:21
どう考えても
C++ではvoid *をキャストなしで他のポインタに代入できないから
が、圧倒的に最大の理由だけど。
TMemoなどにUnicodeを表示させるにはどうすればいいのでしょうか?
877 :
デフォルトの名無しさん:2006/09/21(木) 16:37:23
なんか30分毎くらいの感覚で素人に、いちゃもんつけてる奴がいるな。
無職で暇なんだろうが、楽しいか?
内容も薄っぺらいしwwwwwwwwwwww
878 :
デフォルトの名無しさん:2006/09/21(木) 17:38:17
痛いよ
>>876 Japaneseが文字化けしちゃってますけど・・・
>>879 バグ報告は開発元に。
ソースはあるから自分だけこっそり直すことも可。
>>879 間違えて中文コピペったに1GUNGLA
882 :
780:2006/09/23(土) 02:14:25
883 :
デフォルトの名無しさん:2006/09/24(日) 23:59:22
BCBやらDELPHI使ってる奴って、仕事で使えないんだけど。
こいつら、ほんと困るんだよね。
いや、俺のことだが。
いやいや、俺のことだ。
以上、リストラ組の煽りですた。
まてまてー!俺を忘れてもらっちゃこまる!
601 名前:デフォルトの名無しさん[] 投稿日:2006/09/24(日) 23:55:30
自分が調べたいことをパラパラと探せないし、
かといって、ろくなこと書いてないし、サンプルもないし。
書店で本をみればロクなこと書いてないワリにめちゃめちゃ高いし、
やっぱVCのほうがいいっすよ。
本なんて買わなくても周りに知ってる人がいくらでもいるし。
BCBはね、DELPHIやってる人のほうが詳しかったりして。
なんで今更PASCALやらDELPHI固めのGUI操作を覚えねばならぬ。
スレ違い
891 :
デフォルトの名無しさん:2006/09/25(月) 22:46:09
スレ違い(ウザ)*
895 :
デフォルトの名無しさん:2006/09/26(火) 14:08:23
BCB5でAVIファイルを再生してForm内のPanel1(TImageも可)に表示したいのですが、
put_Owner()がエラーとなってActiveMovie Window内に表示されます。
TPanel *Panel1
HRESULThRslt;
IGraphBuilder*pGrph;
IMediaControl*pMdaCtrl;
IVideoWindow *pVideoWin;
CoCreateInstance( CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (LPVOID *)&pGrph );
hRslt = pGrph->QueryInterface( IID_IMediaControl, (void **)&pMdaCtrl );
hRslt = pGrph->QueryInterface( IID_IVideoWindow, (void **)&pVideoWin );
hRslt = pVideoWin->put_Owner((OAHWND)Panel1->Handle);
エラーコードをWinError.hで調べてみると
// MessageId: E_NOINTERFACE
//
// MessageText:
//
// No such interface supported
//
#define E_NOINTERFACE _HRESULT_TYPEDEF_(0x80004002L)
でした。
我が師よ、どうコーディングすれば良いのでしょうか?
>>895 IVideoWindow::put_Ownerの前にIGraphBuilder::RenderFile()呼ばないとダメだったかもしらん。
自作コンポは先にRenderFileやってた。
897 :
デフォルトの名無しさん:2006/09/26(火) 15:08:52
895です。
>>896 師の教えにより、困難を克服致しました。896万歳!
>>897 mp3ファイルとかだったりするとビデオレンダラ生成しようがないからね
899 :
デフォルトの名無しさん:2006/09/27(水) 11:21:15
ListViewのMouseUpイベントなんですが、左ボタンだとちゃんとイベントに来るのですが
右ボタンだとクリックならイベントが来なくてダブルクリックだとイベントがきます。
これは何が原因なのでしょうか?
900 :
デフォルトの名無しさん:2006/09/27(水) 22:32:36
BCBだから
902 :
デフォルトの名無しさん:2006/09/27(水) 22:44:33
いやBCBだから。
TPanel->Autosize=true;みたいな感じだから。
904 :
デフォルトの名無しさん:2006/09/28(木) 10:48:58
>>903 やっぱこれバグかー
ちなみにBCB5なんだけどそれ以降のバージョンでもダメか?
905 :
デフォルトの名無しさん:2006/09/28(木) 11:57:20
ListViewの現在のカーソル位置(四角の点線)のインデックスを取得する方法を教えてください
>>899 どういう意味?
右のシングルクリックだとイベントが来ないってことか?
それだったらウチは問題ないぞ?
>>899 ListViewのアイテム上で右クリックしてもOnMouseUpに飛んで来ないのは
コンテキストメニュー(ポップアップメニュー)を出すため。
なのでOnContextPopupで待つといいよ。
>>905 ListView->SelectedやListView->GetItemAt()でListItemを取得して
ListView->Items->IndexOf()使えばインデクス取れるよ。
複数のアイテムの選択を有効にしている場合は、各アイテムのSelectedプロパティを見てください。
for( int i = 0; i < ListView->Items->Count; i++ ){
if( ListView->Items->Item[ i ]->Selected ){
以下略
908 :
デフォルトの名無しさん:2006/09/28(木) 15:42:47
>>906 え?マジですか?右のシングルクリックでこないんですよー
でも、右クリしてから離すときにマウスを移動して離すとなぜかくるんですよね。
>>907 神様ありがとうございます!!
それは全く気が付きませんでした。
それでIndexの話なのですが、マルチセレクトをしているのですが
それで複数選択してる最中にCtrlを押しながら矢印キーでカーソル移動できますが
このときに移動しているIndexはSelectedになっていなかったものですから・・
ちなみに、選択されている行で右クリしてもMouseUpのイベントは入ってくれませんでした
>>906 それは項目を選択してないから
項目が選択された状態ならOnContextPopupに飛ぶ
あとBDSでも同じ動作だった
>>909 ホ、ホンマやー!右でMouseUpって使ったことないから盲点だった
911 :
907:2006/09/28(木) 21:17:29
>>908 あの書き込み程度で~扱いとは大袈裟な。w
選択されたアイテムではなくフォーカスのあるアイテムなら
ListView->ItemFocused で取得できるので、これを
ListView->Items->IndexOf()に渡してインデクスを取得するといいよ。
実行ファイル名にプロジェクト名とは別の名前を付けたいのですが、
設定場所が見つかりません。
ご存知の方いらしたら教えて下さい。
913 :
デフォルトの名無しさん:2006/09/29(金) 00:11:43
914 :
912:2006/09/29(金) 00:30:55
>>913 バージョンは6.0 Professionalにアップデートパック 4です。
プロジェクト->オプションソースの編集でそれらしきところ(PROJECT value)を書き換えても
変わりませんでした。
>>914 プロジェクトファイルの<PROJECT><MACROS><PROJECT>のvalue書き換えで行けそうな。テストしてないけど。
ってそれやったのか。
あとはメインソースの名前変更してみるとか。
917 :
デフォルトの名無しさん:2006/09/29(金) 13:11:31
>>914 「プロジェクト->オプションソースの編集」での変更は保存されないような気がする。
いったんプロジェクトを閉じて、外部エディタでxxx.bpr(UTF8)を直接書き換えてみては?
918 :
デフォルトの名無しさん:2006/09/29(金) 13:26:14
>>911 ぬおいおおおおお!!
ItemFocusedってあるとは知らなかった!
ありがとーありがとー。
さっそくためしてみます
919 :
デフォルトの名無しさん:2006/09/29(金) 17:43:50
質問させてください
環境
BDS2006C++Builder
以下をコンパイルしようとすると、「E2328 プロパティを持つクラスは値をコピーできない」
と怒られてしまいます。
hファイルにc_Exというクラスを定義。
c_Ex型のP_c_Exプロパティを作成
↓こんなかんじ
C_Ex p_c_Ex;
__property SetP_c_Ex = {read = p_c_Ex,write = SetP_c_Ex};
で、cppファイルにある関数「SetP_c_Ex」の中で↑で定義したp_c_ExにinP_c_Exを入ようとする所でコンパイルエラーがでます。
↓こんな感じ
void __fastcall aaa::SetP_c_Ex(aaa::C_Ex inP_c_Ex){
p_c_Ex = inP_c_Ex; ←ここ!
}
回避方法がさっぱりわかりません。
どなたかご教授ください!
920 :
914:2006/09/29(金) 23:45:28
メインソース(cpp,res)の変更も効果無し、外部エディタでbprを書き換えても
次回起動時にしっかり元に戻されています。
リンク後に外部プログラム呼ぶ設定でもあればDOSコマンドでリネームできるのですが
それすらなさそうです。
あああ:c_えx*
>>919 エラーが再現する最低限のソースを提示しろ
普通にプロパティを作っただけじゃそのエラーは出ない
>>920 これはもうmakefile作るしかないかもね
924 :
デフォルトの名無しさん:2006/09/30(土) 09:48:43
>>912 プロジェクト名とは別の名前は、できないと、思ってた・・・
925 :
デフォルトの名無しさん:2006/09/30(土) 23:23:31
いや、BCBだから。
いや、BCBのせいじゃない。
使ってるヤシが悪い。
BCB6 UP4で、新規プロジェクトでActiveFormを選択して
そのままコンパイルしたところ、VCLCONTROL_IMPLマクロの
ところでエラーが出てコンパイル出来ないのですが、何か
やり方が間違っているのでしょうか。
ご存知の方いらしたら教えて下さい。
GraphicExを使用してTIFFファイルを表示させようとしてます。
.pasファイルをプロジェクトに追加して、コンパイルしたところ、
自動作成された.hファイルから大量にエラーが発生してしまい、
コンパイルできませんでした。
どなたか、GraphicExを使用する方法を教えていただけませんか?
環境 WinXP+SP2 BCB6+UP4
GraphicExってDELPHIで書かれたコンポーネント?
自動生成される.hファイルってフォームクラスのヘッダのこと?
BCBのプロジェクトに.pas入れちゃ通らんだろ。
931 :
デフォルトの名無しさん:2006/10/19(木) 00:36:43
932 :
デフォルトの名無しさん:2006/10/19(木) 01:09:25
VCLを使え以上
933 :
デフォルトの名無しさん:2006/10/19(木) 01:27:50
キャストすればいいんじゃね?
だ、キャストすれ。
キャストすればエラーは出ない。
936 :
デフォルトの名無しさん:2006/10/19(木) 11:54:10
すごく初歩的な質問なんですが、
ファイルオープンダイアログをExecuteすると、初期表示状態で「開く」ボタンが
クリック可能な状態になりますが、これをファイルを選択した場合にのみクリック可能にしたいのです。
(初期表示状態でEnable=falseの状態?)
それから、ファイルオープンダイアログの「ファイル名」欄ですが、1回目の表示では空欄です。
2回目以降は前回選択したファイル名が表示されますが、これを2回目以降も空欄にするには
どうしたらよいのでしょう?
Optionプロパティで設定できるのかと思い、探してみましたがHelpでは見つけることができませでして・・
環境はXP Pro+SP2 BDS2006+サービスパック2です。よろしくお願いいたします。
// ファイル名を空にする
FileOpenDialog->FileName = "";
>>931 C言語としてコンパイルするか、
#define STRICT を
#include <windows.h> の前に置くと通ったぞ
939 :
936:2006/10/20(金) 08:15:19
>937
レスありがとうございます。
OpenDialog1Showイベントにその文を追加してみましたが
やはり前回のファイル名が表示されてしまいます。
追加するイベントがまちがっているのでしょうか・・
>>939 FileName は Execute() を呼ぶ前までに設定しておかないとダメだと思うよ
被ったorz
943 :
939:2006/10/21(土) 08:22:25
>940,941
うまくいきました。ヽ(・∀・)ノ ヤター
どうもありがとうございます!
TEdit等のImeModeプロパティを持ったコントロールは問題ないのですが、
ImeModeを持たないコントロール(例えばTStringGrid)で入力時にIME制御を
行うにはどうしたらいいのでしょうか?
つImmユニット
まあ、IME制御APIとメッセージを使って制御するしかないな。
Turbo C++ Explorer版試してみたんだけど、exeがすごく遅くなってないですか?
BCB4とBCB6でビルドしたexeでは3.3秒で終わる処理が7.5秒くらい・・・
Turbo C++の最適化は、いろいろ不具合の話があるみたいだな
majide?
コンパイラとかリンカのバージョンが新しくなってるのでそれをBCB6にコピーして
BCB6からビルドするとexeが遅くならないで今まで通りなんだよね・・・挙動がわからーん。
佐賀
951 :
944:2006/10/23(月) 17:47:21
>>945 やっぱそれですか。
DelphiではImmうんたらとかでやってたんでBCBにも同じような
物があるんだろうけど、今のところ発見できず・・・
てゆうか、TEditのImeModeプロパティのコード嫁。
それから、
TStringGridの入力エディタは生成をオーバーライドできるようになってるから、
自作エディタに差し替えることを可能にしてあるし。
>>944 SDKの::ImmSetOpenStatus
OnMouseDownイベントにて
右クリックかどうかを判別するにはどうすれば良いのでしょうか?
Shift == ssDouble ではコンパイルが通りませんでした・・
>>955 if( Shift.Contains( ssRight ) )〜
ヘルプを読もう。OnMouseDownのヘルプ->Exampleに載ってるよ
確かにTShiftState型はちょっと判りにくいけどね。
すみません、右クリックではなくダブルクリックでした
同じ様に書けば良いみたいですね
ありがとうございました
リモートデバッカを使おうと思ったんだけど、ヘルプに記載されてる
『[リンカ]タブの[EXE/DLL オプション]ペインで
[リモートデバッグ情報を含める]にチェックマークを付けます。』
が、[プロジェクト|オプション]内にどこにも見当たらないんだけど、
わかる人いますか?
BCB6を使ってます。
959 :
デフォルトの名無しさん:2006/10/27(金) 16:13:05
>>959 『リモートシンボルを含む .RSM ファイルが生成されます。
このファイルは,リモートマシン上の .EXE と同じ位置になければなりません。』
とのことで、.RSMファイルが出来ないといけないようなのですが、
通常のデバック設定ではこのファイルが作成されないのです。
>>960 リモートデバッグはエンプラ以上じゃないとないんじゃなかったっけ?
962 :
デフォルトの名無しさん:2006/10/27(金) 17:47:22
SHBrowseForFolderの使い方を教えてください。
Help読んでもわからないくらいの初心者です。
サンプルを示して頂けると嬉しいです。
宜しくお願いします。
963 :
960:2006/10/27(金) 19:25:22
964 :
961:2006/10/27(金) 22:19:51
自己レスです。
.RSMファイルではなく、.tdsファイルをリモートマシン上の
.EXE と同じ位置に配置すればOKでした。
HELPファイルほんと腐ってるな。。。
>>962 使うAPIまで判っているのに、なぜGoogleに「SHBrowseForFolder サンプル」と聞いてみないんだい?
966 :
デフォルトの名無しさん:2006/10/29(日) 12:50:00
WinXP+BDSup2使っています。
ACCESSファイル内のテーブルの項目一覧を表示するプログラムを
つくったのですが、項目一覧が勝手にソートされてしまいます。
TADOConnection.GetFieldNames メソッドを使っているのですが
ヘルプを見ても、ソートする/しないは指定できないようです。
テーブルに入っている項目順に表示させたいのですが、
このメソッドは使えないのでしょうか?
他の方法でテーブルに入っている順番に表示させることはできるでしょうか?
よろしくお願いいたします。
968 :
デフォルトの名無しさん:2006/10/31(火) 21:16:13
BDS2006で、プロジェクトにC++ファイル(xxx.cpp/xxx.h)を追加しても、
プロジェクトマネージャには、フォームを新規作成したもののように折りたたんで表示してくれません。
フォームを作成したの[xxx.cpp/xxx.h/(xxx.dfm)]と同じように、xxx.cpp/xxx.hが折りたたまれて表示する
ように、プロジェクトに新しいクラスのソースを追加するにはどうすれば良いのでしょうか。
#include <iostream>
int main(){
try{}catch(...){
std::cerr << "" << std::endl;
}
return 0;
}
こんな感じのソースでCodeGuardが警告出すんだけど何か変ですか。
std::cerr << "" << std::endl;
を消すと問題無いんですが。
BCB5です。
ゴメン、ソース短いしパッと見て変な所があったらすぐ分かるかなと思った。
貼れるのは明日以降だしアク禁に巻き込まれると貼れないっす。
>貼れるのは明日以降
なんで?
973 :
デフォルトの名無しさん:2006/11/01(水) 15:47:20
なんで!なんでなんで!
974 :
デフォルトの名無しさん:2006/11/01(水) 22:01:14
なんで!なんでなんで!なんでなんでなんで!
そりゃプログラム書いてるマシンとネット繋げてるマシンが違うから。
しかもぱっと持ってこれない環境なの。
-----------------------------------------
Error 00019. 0x300010 (スレッド 0xFFE09E4F):
リソースリーク: オブジェクト (0xA92F34) が削除されていません。
オブジェクト(0x00A92F34) [長さ: 96 バイト] は new によって作成されました。
呼び出し履歴:
0x00407403(=TEST.EXE:0x01:006403) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\rw/ctype.h#494
0x00403815(=TEST.EXE:0x01:002815) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\rw/locimpl.h#454
0x004116B1(=TEST.EXE:0x01:0106B1)
0x00403701(=TEST.EXE:0x01:002701) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\rw/usefacet.h#72
0x0040349B(=TEST.EXE:0x01:00249B) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\ios.h#375
0x0040C4D2(=TEST.EXE:0x01:00B4D2)
---------------------------------------------------
こんな感じ。
実行中のログは何も言わないくせに.CGLファイルはしっかり出てて気づかなかった。
ソースの方も本当はもうちょっと#includeやってたりプロジェクトにソースぶちこんでたりしてた。
本当の最小構成だと問題無いっぽい。
問題のソースをプロジェクトから外すとログ吐かないんだけどソースのどこがおかしいのかこれじゃ分からない。
ファイルは分かるから虱潰しに探すしかないかな。
tryの中身が気になる。
ギリギリまでメモリを使っててbad_alloc当たりを投げていて、
std::coutに出力しようとしてバッファの確保に失敗しておかしくなってるとか。
確か空だったと思う。
問題ソースをプロジェクトに入れて#includeしなくても起きる。
catchの中身も上の通り。
確認したら空だった。
んでソースをコメントアウトして関数1つづつ試したけどgetline()かおかしい事が判明。
禿本の3章にgetline(ifstream&, string&)みたいな書かれ方されててそのまま書いてたんだけど。
ともかく、
エラーの起こる最低限のソース
これを提示するのが大原則
#include <iostream>
int main(int argc, char** argv)
{
ifstream std::file(argv[1]);
if(!file) return 1;
std::string str;
getline(file, str); //ココ
return 0;
}
禿本も3章以外にこういうgetline()の使い方書いてないっぽい(索引から検索できない)。
更にgetline()は名前空間の指定無しに使えるのが気になる。
std指定しても結果は変わらないけど。
BCB5というと確かRogueWaveか。バグが多いので、BCB6では
STLport、BDS2006ではDinkumwareになったのだろうが、その
バグに相当するという事はないだろうか?
('A`)
>>980 > 更にgetline()は名前空間の指定無しに使えるのが気になる。
> std指定しても結果は変わらないけど。
koenig
バグですか。
とりあえずgetline()は使わずに1文字ずつ改行まで読むようにしました。
('A`)()
('A`)()
C:\Documents and Settings\Administrator\デスクトップ>('A`)()
() の使い方が誤っています。
FileListBoxでファイルを選択した時に反転表示される色(通常は濃い青)を
任意の色に変更するにはどうすれば良いでしょううか?
989 :
デフォルトの名無しさん:2006/11/07(火) 19:19:23
>inline void __stl_delete(void* __p) { ::operator delete(__p); }
ここでエラーが出るのはどういうときですか?
次スレ要る?
ほすぃ
('A`)()
夜立てると板全体の書き込みが少ないので連投規制にひっかかりやすいな
テンプレは全部張ったんでぼちぼち移動してください
テンプレに不足があれば適当に追加してちょ
BDSスレがあることだし、Delphiスレは関連スレから外しました
ばかもん!必要だ!!つうかたはご自分で追加してください
996 :
989:2006/11/08(水) 13:46:06
STLのvectorって、クラスの実体宣言でメンバ変数としてはマズいですか?
>>996 意味不明
多分、vectorのインスタンスをクラスメンバにしてかまわないかという意味だと思うが、
それなら特に問題はない
しかしおまいさんのC++の基礎知識の不足と日本語の運用能力の低さは極めて重大な問題だな
998
999
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。