【初心者歓迎】C/C++室 Ver.48【環境依存OK】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/02/05(火) 01:18:41ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.47【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1200464091/
【アップローダー】(質問が長い時はココ使うと便利)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
0951デフォルトの名無しさん
2008/02/19(火) 05:01:29http://itpro.nikkeibp.co.jp/article/COLUMN/20061204/255878/
のプログラムがコンパイルできないのですが、
msg[i] += 'A' - 'a'
の処理ってどうやればコンパイルできるようになるのでしょうか?
というか、どんな処理型だったらコンパイルできるのでしょうか?
gcc -std=c99では駄目でした。
0952デフォルトの名無しさん
2008/02/19(火) 05:11:17お前にはVB6がお似合い
0953いいこと教えてやるヨ
2008/02/19(火) 05:19:15あのな、クラスの中で、大文字のTっつー名前のメンバ変数を定義すんなよ。
そのあと、クラス内でtemplate <class T>とかするとハマる。
おれはこんな時間までハマった。
じゃあな。
0954デフォルトの名無しさん
2008/02/19(火) 05:26:02msg[i] += 'A' - 'a'
msg[i] -= 'A' - 'a'
の処理が大文字と小文字をひっくり返す処理くらい
俺でも分かるよ。
でも、コンパイルできねーんだもん。
0955デフォルトの名無しさん
2008/02/19(火) 05:26:49申し訳ないけど笑ってしまった。
0956デフォルトの名無しさん
2008/02/19(火) 06:09:39#include <string.h>
とかか?
0957デフォルトの名無しさん
2008/02/19(火) 07:09:340958デフォルトの名無しさん
2008/02/19(火) 07:15:33(msg[i] -= 'A' - 'a') と括弧で括ればいい。
あるいは、C++処理系でコンパイルすればいい。
0959デフォルトの名無しさん
2008/02/19(火) 10:28:200960デフォルトの名無しさん
2008/02/19(火) 10:28:460961デフォルトの名無しさん
2008/02/19(火) 10:55:47それぞれのスタイルでしょ。でも、
using namespace を.hに書くのはやめとけ。というか、c++を使いつづけると、
そのうち自然に止めたくなると思う。
0962デフォルトの名無しさん
2008/02/19(火) 12:30:340963デフォルトの名無しさん
2008/02/19(火) 14:08:56事があるんですが、何か手はあるでしょうか?
0964デフォルトの名無しさん
2008/02/19(火) 14:16:050965デフォルトの名無しさん
2008/02/19(火) 14:40:34おーあるのね。感謝!
0966デフォルトの名無しさん
2008/02/19(火) 16:35:490967デフォルトの名無しさん
2008/02/19(火) 17:03:21ここにソース書いてくれ。
0968デフォルトの名無しさん
2008/02/19(火) 17:09:37CStringA str;
str = wstrData;
fout.write( str, DATA_SIZE );
この様なことをやっていて
何回も動かしていると落ちてしまうんですが
マルチバイトとワイド文字の変換にCStringAを使ってるのでここかもしれません
0969デフォルトの名無しさん
2008/02/19(火) 17:17:52スタックのトレースも無さそうだな
0970デフォルトの名無しさん
2008/02/19(火) 17:33:57DATA_SIZE
0971デフォルトの名無しさん
2008/02/19(火) 20:44:05じゃないの?
あるいは
fout << str;
0972デフォルトの名無しさん
2008/02/19(火) 23:53:250973デフォルトの名無しさん
2008/02/19(火) 23:54:55あと最近興味ないクラシックを聴いて10分で眠くなる特技が出来た
0974デフォルトの名無しさん
2008/02/20(水) 00:10:05未だに普通のウィンドウにコントロールを貼り付けるような
リソースエディタ的なソレを知りません。
ダイアログなら直球なんですがウィンドウでそういうの出来ますか?
0975974
2008/02/20(水) 00:11:140976デフォルトの名無しさん
2008/02/20(水) 00:11:230977デフォルトの名無しさん
2008/02/20(水) 00:13:42とりあえず VC ではそういうのは知らない。
0978デフォルトの名無しさん
2008/02/20(水) 00:14:29Windows 的には。
0979デフォルトの名無しさん
2008/02/20(水) 00:15:28初心者は、C#かBCBつかえよ 無理
0980974
2008/02/20(水) 00:21:42んじゃ0年でもOK
てゆかVC6のウィンドウエディタはリソースエディタしかないから
それでやってたけど、ダイアログしか作れないのはおかしいだろ、
とか思いながらやってたんだけど、その疑問をはらしたくてな。
>>977-978
あれ?やっぱこれでOKなのか。
要するに「VC6に"ウィンドウ"エディタは無い」でOK?
0981デフォルトの名無しさん
2008/02/20(水) 00:22:260982デフォルトの名無しさん
2008/02/20(水) 00:26:090983デフォルトの名無しさん
2008/02/20(水) 00:34:32ダイアログをウィンドウに張ることはできますが。
0984デフォルトの名無しさん
2008/02/20(水) 00:51:48もはやダイアログではないウィンドウができる。
でも俺は983のようにすることが多いけど。
0985デフォルトの名無しさん
2008/02/20(水) 00:54:520986デフォルトの名無しさん
2008/02/20(水) 01:38:220987デフォルトの名無しさん
2008/02/20(水) 05:25:33その子供クラスを、親クラスのポインタをつかって扱ってます。そのとき、
親クラスのポインタに対して、delete ptr;とやると、まず子供クラスの
デストラクタが呼ばれた後で、親クラスのデストラクタが呼ばれるのですが、
これって正しい動きですか?
親クラスのデストラクタは呼ばれないと思ってた。
0988デフォルトの名無しさん
2008/02/20(水) 06:16:06正しい。
親のが呼ばれなきゃ親のリソース開放できないじゃん。
0989デフォルトの名無しさん
2008/02/20(水) 06:21:51その通りですね。
ありがとうございました。
0990デフォルトの名無しさん
2008/02/20(水) 11:16:24(vector<int>とか)
色々やってみたんですが、なぜかどうやってもコンパイル失敗してしまいます。
もしかして、できないのかな、と思った。
0991デフォルトの名無しさん
2008/02/20(水) 11:31:28#include <vector>
int main() {
std::vector<int> *p = new std::vector<int>;
delete p;
}
0992デフォルトの名無しさん
2008/02/20(水) 11:46:47なんでまたそんな希代なことしようと思ったのかが気になる。
0993デフォルトの名無しさん
2008/02/20(水) 12:25:18ありがとうございます。なぜそんなことをしようと思ったかというと、vectorを関数間でやりとり
したかったからです。適当にクラスを準備して、その中にvectorを保持してましたが、単体でも
newで出来るかなと思いました。
0994デフォルトの名無しさん
2008/02/20(水) 12:28:170995デフォルトの名無しさん
2008/02/20(水) 12:34:230996デフォルトの名無しさん
2008/02/20(水) 12:36:34http://pc11.2ch.net/test/read.cgi/tech/1203478421/
>>995 乙
0997デフォルトの名無しさん
2008/02/20(水) 12:47:08別にわざわざnewする必要なんか無いだろ。そのための参照渡しがあるんだから。
0998デフォルトの名無しさん
2008/02/20(水) 12:54:35boost::shared_ptr<std::vector<int> >(new std::vector<int>());
とかやる?
0999デフォルトの名無しさん
2008/02/20(水) 12:56:511000デフォルトの名無しさん
2008/02/20(水) 12:57:3810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。