[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 10/16 01:02 / Filesize : 178 KB / Number-of Response : 657
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★初心者にVisual C++を教えるスレ★ Part30



1 名前:デフォルトの名無しさん [2008/05/07(水) 23:33:53 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html
myu.daa.jp/osiete/

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5辺り。


504 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:22:38 ]
マウントはレジストリ使うんじゃなかったかな?
よくトラぶって起動しなくなるらしい

505 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:33:53 ]
DOSやWindows 3.1やWindowsNT → ディレクトリ
Windows95以降 → フォルダ

NTFSはWindowsNTで作られた物だから、
解説ではディレクトリと言う事も多い。

今では、区別なくフォルダと言っている。
例えば、圧縮フォルダはNTFSの機能だけど、
あんまり圧縮ディレクトリとは言わない。

506 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:40:31 ]
つまりディレクトリとフォルダは違うものなんだ

507 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:48:49 ]
>>491じゃないけど作ってみたyo〜
#include <stdio.h>
#include <conio.h>
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR sKey[] = _T("test") ;
printf("plz enter [ %S ] \n", sKey) ;
unsigned int nCount = 0 ;
for(;;)
{
if(::_getch() == sKey[nCount])
{
printf("hit! [ %C ]\n", sKey[nCount]) ;
if(_tcslen(sKey) <= ++nCount) break ;
}
else printf("miss\n") ;
}
printf("\(^o^)/") ;
return 0;
}



508 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:54:19 ]
あれだろ、
昔からDOSやWindowsでプログラミングやってる老人が、
ディレクトリをフォルダって言う事に抵抗感じるって事でしょ。

509 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:14:24 ]
もうフォルダとかディレクトリとかどうでもいいよおまえら
専用スレでも立ててほかでやれ

と思ってるやつが何人いるんだろう
一人もいないのか?

510 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:24:26 ]
どうでもいいよ

511 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:34:16 ]
他人の間違いに一々噛み付くのはアマチュア。
脳内で的確に修正し、さりげなく指摘できるのがプロ。
間違いを訳のわからん理論で正当化しようとするのは厨ニ病。

512 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:49:51 ]
>>511
で、君はそれのどれ?



513 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:30:08 ]
悪いのはいちいち名前を変えて同じ物をローテーションしてるMSだろ
俺たちゃ振り回される被害者だってばよ!

514 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 07:29:55 ]
Express Edition 使っているんですけど
ソリューションにソリューションを追加できないものでしょうかね
自分は MFC や ATL を使わないので
この機能のためだけに Standard 買うのもちょっと…

515 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:54:43 ]
Stdにだってそんな機能はありませんよ
異なる言語のプロジェクトをひとつのソリューションで扱えるだけ
なんでそんな要求が出るのかしらないけど
MSBuildあたりを調べればなんか代替案出てくるんじゃない?

516 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:19:18 ]
>>461
>何のために本やグーグル先生があると思ってるんだね?

何のために2chに初心者質問スレがあると思ってるんだね?
という発想。

517 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:06:46 ]
EEには無いがSEには有るというなら多分ソリューションフォルダのことだろう。

518 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:21:37 ]
VS2008 MFC使用です

CStaticオブジェクトに絵を描いています。
OnPaint()でLineTo()等を組み合わせて絵を描いているのですが、
ウィンドウの大きさを変えたとき、OnSize()で描画領域の大きさも変えて、絵も拡大縮小するような処理を行っています。
しかし、絵を拡大したとき、新たに描画されるところは拡大されて表示されるのですが、
既に表示されている部分の再描画が行われません。

これが処理を早くするための工夫(仕様?)であるところまでは調べられたのですが、
実際にどのように対処したらいいかがわかりません。

OnSizeでサイズを変更したときに全体が再描画されるようにするにはどうしたら良いでしょうか。

519 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:25:46 ]
>>518
Invalidateで全体が無効領域だということをシステムに教えてやる

520 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:26:40 ]
けちけちしないで全体を再描画すればいいだけじゃん。

521 名前:518 mailto:sage [2008/06/16(月) 18:48:09 ]
>>519
Invalidateを初めて知りました。ありがとうございます。
OnSizeでInvalidate(TRUE)
OnExitSizeMoveでInvalidate(FALSE)
とする事で対処しました。

522 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:43:55 ]
ダイアログクラス間での、構造体データのやりとりで悩んでいます。

[ダイアログA]から、作成した登録ボタンを押して[ダイアログB]を開き、
Typdef struct Data
{
int Number;
char Name[10];
}stDATA;
をそれぞれに用意した2つのエディットボックスで入力して登録するもの
なのですが、UpdateData(TRUE);で取得したデータを、[ダイアログA]の保存ボタンを
押したときにファイルに保存するための処理が作れません・・・。
[ダイアログB]でファイルオープンし、そのまま保存することならできる
のですが、ダイアログAの保存ボタンで保存したい場合は、構造体のデータ
をどのようにやりとりすればよろしいでのしょうか?

もしかしたら、MFC以前の問題なのかもしれないのですが、
C言語とC++を初めて1か月半なので、なにとぞよろしくお願いします。



523 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:06:50 ]
失礼しました。ファイルへの保存は、
FILE *fp でファイルを開いて、fprintfで保存します。

524 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:10:10 ]
fwriteでメンバを一個ずつセーブ
freadで一個ずつロード

525 名前:デフォルトの名無しさん [2008/06/17(火) 11:33:24 ]
Visual Studio2005のC++を使っています.
複数のフォルダーを取得するにはどうしたらいいでしょうか?

複数のファイル名を取得するにはCFileDialogを使って、Shift+
マウスクリックで複数ファイルを同時に選択できました.
それと同じようなことをフォルダーに対して行いたいのです。
BROWSEINFOを使って一個のフォルダは選択出来ますが、
同時に100以上のフォルダーを選択したいので、Shiftやcntlなどを
使ってさくっとやりたいです。

なお、フォルダー選択後、各フォルダー内にあるデータファイルを
順番に全て処理していきます.

526 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:36:10 ]
>>522
ダイアログBが生きてるなら、Bのパブリック変数なりゲッタなりで。
Bが消えるなら、消える前に上記。あるいは、AのポインタをBに渡しておいて
BからAのパブリック変数に代入なりセッタなりで。

527 名前:デフォルトの名無しさん [2008/06/17(火) 16:14:55 ]
VisualC++2005でMFCアプリケーションをダイアログベースで作成しています。

メイン画面からサブ画面を開くのに
 DoModal();
を使って開いているのですが、
このときサブ画面のエディットボックスなどに初期値を入れたいです。

メイン画面ではOnInit関数内でセットできたのですが、
サブ画面ではどこに記述して良いかわかりません。

初歩的な質問で申し訳ありませんがよろしくお願い致します。

528 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:19:44 ]
サブ画面のダイアログのクラスにOnInitDialog()を作れ。
クラスビューからクラス選択してプロパティでオーバーライドをクリックして
OnInitDialogを探せ。

529 名前:527 [2008/06/17(火) 16:48:10 ]
>>528
おぉ☆★☆
早速のレスありがとうございました!!

早々に解決できました。
ありがとうございましたm(_ _)m

530 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:24:34 ]
>>524
>>526
まだ完成はしていないのですが、無事解決しそうです。
どうもありがとうございました。

531 名前:デフォルトの名無しさん [2008/06/17(火) 20:59:57 ]
すいません。すごく今困ってます。
今先生から内緒でCDに焼いてもらったVisual Stadioなんですが、

#include <stdio.h>

void main(void)
{

printf("Hello");
}

これを実行すると

プロジェクト : error PRJ0003 : 'cmd.exe' の起動中にエラーが発生しました。

ってなるんですが、どうしたら良いですか??
お願いします。

532 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:06:54 ]
とりあえずMSにメールしといた



533 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:07:26 ]
環境変数のpathに %SystemRoot%\system32 を追加。
PCを再起動

コピーは良くない。逮捕されるぞ
Visual studio のアカデミック版は安いんだから、買え。
一番基本的なバージョンは無料ダウンロードできるんじゃなかったっけ?


534 名前:デフォルトの名無しさん [2008/06/17(火) 21:11:24 ]
>>533

あの・・・すいませんが
環境変数ってどこですか?;

535 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:18:50 ]
流石にこれにはレスしない方向にしたいな

536 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:21:23 ]
無料で使えるExpressEditionがあるのになぜこの程度の
事をするのにコピーしてもらうのかと、そもそも学校の課題とかなら
EEでも十分すぐる

537 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:36:30 ]
ていうか先生に聞けよw

538 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:04:52 ]
ていうか、学校名晒せよ。

539 名前:デフォルトの名無しさん [2008/06/17(火) 23:17:23 ]
>>531 これはさすがにまずいな、まして教職者がやる行為ではないね








TV用

540 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:21:19 ]
内緒って書いてあるな、 約束を破っちゃいかんよ

541 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:26:19 ]
これはすごい釣りですね

542 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:35:27 ]
国際学生証作ればMSから正規にタダでダウンロードできるだろう



543 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:36:00 ]
MouseButtons & Windows::Forms::MouseButtons::Right ;
Noneになるクソワロタ
あれ・・・?

544 名前:デフォルトの名無しさん [2008/06/18(水) 10:50:59 ]
こんにちは!
ボタン押しでファイル保存をしたいのですが、エクセルやワードを保存するときのように、
フォルダを選べて、名前をつけて保存したいです。
まず、その画面はどうやって表示したら良いでしょうか??

環境はVisualC++2005のMFCです。よろしくお願いします。

545 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:54:23 ]
CFileDialogで検索

546 名前:デフォルトの名無しさん [2008/06/18(水) 12:21:17 ]
クラスについての質問です。

class MakeWindow
{
public:
char Name[256];
int Width;
int Height;
int Bit;
int ScreenMode;
}

MakeWindow mWindow = new MakeWindow("A", 640, 480, 32, SELECT_MODE);

このようにしてオブジェクトを作成したのですが、
エラー 2 error C2661: 'MakeWindow::MakeWindow' : 5 個の引数を伴うオーバーロードされた関数はありません。(Line 6)

と表示されます。
受け取り側の変数も5個で設定しているのですが、何が原因なのでしょうか。

547 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:35:09 ]
コンストラクタでググれよ

548 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:50:11 ]
エラーをよく見ろ
'MakeWindow::MakeWindow'という関数はないと言ってる
そのまんま

549 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:54:28 ]
548はアホ
スレ違いだから終了

550 名前:デフォルトの名無しさん [2008/06/18(水) 16:01:45 ]
質問させていただきます。

Microsoft Visual C++ .NET
でアプリケーション (.exe)作成しました。

void main()を実行した所
実行画面が立ち上がりません。
出力の表示は
”XX.exe: ネイティブ' はコード 0 (0x0) で終了しました。”
となっています。

実行画面が表示されれば
Sleep(2000)が入っているの目視できるはずです。

ステップインで実行した所次のようになっていました。
・appmodul.cppの_tWinMainが実行
・crtexe.cのif ( !managedapp )でmanagedapp=0
・exit(mainret)が実行

ここで終了しているようです。
何とかmainの中身を実行させたいのですが何が原因なんでしょうか?

当方のスキル:社内プログラマ1年目
申し訳ありませんが何とかお力を御貸し頂きたいと思います。

551 名前:MFC始めて3週間目 [2008/06/18(水) 16:12:49 ]
CEditView でフォントを設定するのはどうするの。
ちなみに以下ではできない。

int CDeepPurpleView::OnCreate(LPCREATESTRUCT lpcs)
{
if(CEditView::OnCreate(lpcs) == -1)
return -1;

CDC* pDC = this->GetDC();
CFont screenFont;
screenFont.CreatePointFont(600,"MS ゴシック",pDC);
CFont* pOldFont = pDC->SelectObject(&screenFont);

return 0;
}


552 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:33:42 ]
>>550
MFCのプロジェクトを選んでいないか?main関数から始まるプログラムを作りたいなら、
Win32コンソールアプリケーションのプロジェクトを選ばないといけない。

あるいはMFCを使いたくてそうしているのなら、
プログラムの実行開始はmain関数でないというのがMFCの流儀。



553 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:40:41 ]
フォントの寿命がOnCreate終わるまでなんだろ

554 名前:550 mailto:sage [2008/06/18(水) 17:10:31 ]
>>552
ありがとう御座います。
MFCを使用しないため
Win32コンソールアプリケーションで
プロジェクトを組みなおした所
問題が解決しました。

ありがとう御座います。

555 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:15:45 ]
mag.autumn.org/Content.modf?id=20060122170124
SetWindowsHookExのサンプルをvc++2008でコンパイルしてみたんだけど、
フックされる気配がない・・・どこか間違ってるの?

556 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:25:08 ]
>>554
そういえばvoid main()は普通やらない。int main()にしろ。

557 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:44:35 ]
>555
そのあとに、NyaRuRuセンセが「CLR上でフック動かすとか無謀すぎ」
って書いてるのに、何でコンパイルしたの?

558 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:30:55 ]
>>543
MouseEventArgs^ a = (MouseEventArgs^)e;
a->Button == MouseButtons::Right
こうですか!わかりません><

559 名前:デフォルトの名無しさん [2008/06/19(木) 04:09:40 ]
MFCで使われるCrectをCLRでも使いたいんですけど代わりのものってありますか?

560 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 04:41:04 ]
代わりって言うと微妙かもしれないけどRectangleとかかな?

561 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 10:37:53 ]
>>551
まず、CFontが破棄されないように自動変数はやめてメンバーにでもして、
↓でどうよ。
int CDeepPerpleView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CEditView::OnCreate(lpCreateStruct) == -1)
return -1;
screenFont.CreatePointFont(600, _T("MS ゴシック"));
SetFont(&screenFont);
return 0;
}

562 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:46:53 ]
TimerProc(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
のdw1とdw2って、ドキュメントには予約って書いてあるけど、実際には使えないの?



563 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:51:27 ]
そこに値設定する方法無いのに、どうやって使うつもりなんだ。

564 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:38:13 ]
予約領域のある関数や構造体なんてイヤというほど有るぞ。

565 名前:デフォルトの名無しさん [2008/06/19(木) 23:02:34 ]
みなさんすみません。5日前からC++を始めた初心者です。
>383さんと関連するのかもしれませんが、下記のコードを実行すると、
期待した結果と異なる(結果は同じになると思うんですが)出力されます。
関数の引数を値渡しすると、初期化と同じとテキストに書かれているので、
こういう結果がなぜ起こるか分からないのです。

Visual Studio 2008 Express Edition
Windows Vista


void Print(char str[])
{
cout << "サイズは" << sizeof(str) << endl;
}

int main()
{
char str[] = "Test";
  cout << "サイズは" << sizeof(str) << endl;
cout << "サイズは" << sizeof("Test") << endl;

Print("Test");
Print(str);
}


結果:
サイズは5
サイズは5
サイズは4
サイズは4

566 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:16:26 ]
>>565
"Test"の文字列を長くしたらどうなるか見てごらん。


567 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:17:31 ]
【初心者歓迎】C/C++室 Ver.55【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1213466622/
C++相談室 part62
pc11.2ch.net/test/read.cgi/tech/1211900039/


568 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:18:45 ]
はきだめC/C++下級者の質問箱 2
pc11.2ch.net/test/read.cgi/tech/1156206091/

569 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:40:00 ]
>>565
Print関数にはポインタを渡してるに過ぎない。
サイズが4なのはポインタのサイズ(32ビット)

570 名前:デフォルトの名無しさん [2008/06/20(金) 11:36:05 ]
>>569
>>566
565です。ありがとうございます。そういうことなんですね。
すっきりしました。


571 名前:デフォルトの名無しさん [2008/06/20(金) 11:43:06 ]
こんにちは!

現在VisualC++2005のMFCでプログラムを組んでいます。
Cのstr関数を使用しているのですが、下記のような警告が出ます。

warning C4996: 'strcat' が古い形式として宣言されました。

string.hを見ろって言われて見たのですが、
まだまだ未熟な為、よくわかりません。

一応動作は問題なくできるのですが、気になったので教えて頂けませんか?
自分としてはこの警告を、

問題はありませんが、古い形式で宣言されてるので新しい形式にした方が良いよ。

というニュアンスでとらえています。
それでOKでしょうか?また、OKな場合新しい形式とはどういう形式でしょうか?

よろしくお願いします。

572 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:53:54 ]
これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。

新しい形式は、strcpy_s を調べてね



573 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:54:41 ]
strcat だったか、こっちに対応するのはもちろん strcat_s ね

574 名前:デフォルトの名無しさん [2008/06/20(金) 14:45:50 ]
>>572
ありがとうございます。
確かに _s をつけたら警告がなくなりました。

ANSIではstrcatとかですが、
VisualC++では _s を付加した新しい形式になってるってことでいいんですか?

ちなみに
>これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。
やってみたんですが、警告は消えませんでした・・・orz

575 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:53:05 ]
ISOのCライブラリ標準にはなってるから、そのうちANSIにも入るかもしれないが、わからんな。
CRT のセキュリティ強化
ttp://msdn.microsoft.com/ja-jp/library/8ef0s5kh(VS.80).aspx

576 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:33:10 ]
標準入力をファイルへリダイレクトした時のデバッグ
(コマンドから[c:\hoge.exe < c:\hoge.txt]と入力した時のhoge.exeのデバッグ)
をするにはどうしたらいいですか?

プロジェクトのプロパティ→デバッグ→コマンドライン引数 に" < c:\hoge.txt"を足せばいいかと思ってやってみたのですが、上手くいきません。

577 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:38:56 ]
>>576
それでうまくいくはずだけど、どうなるの?

578 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:16:56 ]
>>577
hoge.exeの中身です↓
int _tmain(int argc, _TCHAR* argv[])
{
 std::string line;
 while (std::cin)
 {
  std::getline(std::cin, line);
  std::cout << line << std::endl;
 }
 return 0;
}

hoge.txtの内容が出力されるはずですが、何も出力されないのです。
(コマンドプロンプトから[hoge.exe(のフルパス) < c:\hoge.txt]とした場合は内容が出力されます。)
引数は
argv[0] --- hoge.exe (のフルパス)
argv[1] --- <
argv[2] --- hoge.txt
になっているのですが・・。

579 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:34:17 ]
それがコマンドライン引数で出来たのは
VisualStudio6以前だけ。

リダイレクトはシェルの機能なんで
コマンドライン引数には書けない。

580 名前:574 [2008/06/20(金) 17:42:07 ]
>>575
ありがとうございます。
参照させていただきました。

ネットだと、_CRT_SECURE_NO_WARNINGS を
ヘルプだと、_CRT_SECURE_NO_DEPRECATE を

定義すれば良いとありますが、どちらを定義しても警告が消えません。
ちなみに

_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES を 1 として定義する

もやってみましたが警告が消えません。
もしかして定義する場所が違っていますか?
str関数を使用しているファイル内で定義してるのですが。。。



581 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:50:22 ]
>>580
多分、<string.h>をインクルードする前に
定義しないと駄目だと思うぞ。

582 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:51:46 ]
>>578
VC++のバージョンは?
こっちでやってみたら、VS2005だとそのまま動作して2008だと無理だな



583 名前:579 mailto:sage [2008/06/20(金) 18:06:32 ]
あれ、2008のヘルプにも出来るって書いてあるな。
>>579は取り消し。

584 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:07:43 ]
ヘルプには両方できるって書いてあるんだけど、2008はできなかった。
2005だとそのままでできるから設定がいるか、ヘルプが間違ってるか、どっちかかもね

585 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:22:52 ]
なんか、2008でも「デバッグ無しで開始」だとうまくいった。
バグっぽいな。

586 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:29:38 ]
Sleepとダミーの行置いてデバッグ無しで開始してからプロセスにアタッチしたら
なんとか動いたw

587 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 19:51:09 ]
VC2008で作成したDllをVC2005をインストールしているPC上から呼び出したところ
dlがありませんといわれました。
VC2005で作り直すとちゃんと呼び出せるdllができます。なにが原因でしょうか?

VC2008で作ったdll→VC2008のPCでは動くがVC2005では認識されない。
VC2005で作ったdll→VC2005のPCでもVC2008のPCでも動く

588 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:00:08 ]
他に依存しないなら単体で動く

589 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 21:22:39 ]
VC入れてないと使えないんじゃ普通の人には使えない

590 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:12:11 ]
featurepackどうですか?

591 名前:578 mailto:sage [2008/06/20(金) 22:34:52 ]
>>582
バージョンはVS2008です。

皆様の言うとおりデバッグ無しでは動作しました。
バグ?ですかね。あきらめつつ設定でできないか頑張ってみます。
レス下さった皆様ありがとうございました。


592 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 07:32:27 ]
>>587
dllがないなら、dll入れればいいじゃん




593 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 13:47:42 ]
DLL自体じゃなくてプロジェクトのことだというオチじゃないだろうな?
2005のプロジェクトは2008でも読めるが、逆はできんぞ。
まあソリューションとプロジェクトのヘッダ書き換えればほぼイケるけど。

594 名前:デフォルトの名無しさん [2008/06/21(土) 22:51:53 ]
本当にくだらない質問だとは思うんですけど

Visual C++っていうのはソフトなんだよね?
それはれっきとした売り物でフリーじゃないよね?
そしてプリグラムを勉強したかったら何かしらのプログラミングソフトを購入することが必要?

595 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 22:54:22 ]
>>594
フリーの開発環境もあるからググレ


596 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 23:00:08 ]
>>594
マイクロソフトのホムペを隅から隅まで確認しろ

597 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 23:00:56 ]
>>594
Visual C++ 2005/2008 Express Edition はフリー

598 名前:デフォルトの名無しさん [2008/06/21(土) 23:08:12 ]
ありがとうそれを落としていろいろ勉強してみるわ

599 名前:デフォルトの名無しさん [2008/06/22(日) 01:36:36 ]
>>597のを落として実際にプログラムをサイトからみたの拝借して打ち込んでるんだけど再現できない

#include <iostream.h>

void main()
{
int i;
i = 5 + 15;
cout << "計算すると";
cout << i;
cout << "になります。" << endl;
}

これなんだけどなぜだろうか?

600 名前:デフォルトの名無しさん [2008/06/22(日) 01:56:16 ]
>>599
iostream.hはC++標準の一部ではありません。
現代的なCompilerの多くではサポートされません。
VC7以降も同様です。

601 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:58:20 ]
#include <iostream>
using namespace std;

602 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 04:56:11 ]
都合上 using namespace std; してるところが多いけど
本当は using namespace は使わない方がいい。
今は気にしなくていいけどな。



603 名前:599 [2008/06/22(日) 07:52:34 ]
ということは<iostream.h>を<iostream>にかえれば大丈夫になるわけかな?

604 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 09:28:13 ]
ここはC++を教えるスレじゃないよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<178KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef