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

このエントリーをはてなブックマークに追加
647デフォルトの名無しさん
1、リストボックスにflvのドラッグドロップしたファイル名を表示 クリアー
2、ボタンを押したらファイルを一つずつ指定のアプリで開く
3、開いたアプリにキー操作を送る
4、CPU使用率で2の動作を連続してできるようにする

何とか1はクリアーしました。2のリストボックスに表示された拡張子がflvの
ファイルを開くというので止まってます。

理想は、リストボックスに表示されてる複数のファイルを関連付けされてる
アプリで開きキー操作を送ることです。ヒントください。
648デフォルトの名無しさん:2012/11/05(月) 12:03:46.49
>リストボックスに表示されてる複数のファイルを関連付けされてる
アプリで開きキー操作を送ること

複数選択した項目を取りだす方法はわかってるの?
関連付けされたアプリを起動する方法がわからないの?
開いたアプリにキー操作を送る方法がわからないの?

どれよ
649デフォルトの名無しさん:2012/11/05(月) 12:13:16.29
>>648
全部わかりません。
そもそもなんだけどリストボックスにファイル名を表示することもあってるかどうか・・・

リストボックスに表示されてるflvファイルを順に開きキー操作を送るというプログラムなんだけど

1、ボタンを押しリストボックスのファイル開きキー操作送る
2、CPU使用率を確認し1の動作をする
3、リストボックス表示のファイル全てを1、2の動作で終了させる
650デフォルトの名無しさん:2012/11/05(月) 15:51:23.67
>>649
Win32APIの範囲になってしまってるよ
とりあえずShellExecuteで関連付けを使用したオープンができる
後はあっちで聞いた方がいい
651デフォルトの名無しさん:2012/11/05(月) 15:58:17.05
一個ずつ解決した方がよさげ。
答える方も個別なら回答しやすい部分もあるだろうし。
652デフォルトの名無しさん:2012/11/05(月) 17:30:45.15
>>650
了解
移動します
653デフォルトの名無しさん:2012/11/07(水) 20:47:24.49
wstring で a = L"3A5f"; みたいな文字列を
uint とか ulong に変換する関数はありますか?
654デフォルトの名無しさん:2012/11/07(水) 21:02:06.55
unsigned long h;
wistringstream w(a);
w >> hex >> h;
655デフォルトの名無しさん:2012/11/07(水) 22:53:54.01
>>654
ありがとうございます!!!
656デフォルトの名無しさん:2012/11/07(水) 23:39:43.50
古いC++本のサンプルプログラムなんですが、

#include <stdio.h>
int main()

{
int x;

printf("%d\n", x); /* xの値は不明*/

printf("%d\n", x=4); /*代入式 x = 4の値を表示:*/
printf("%d\n", x); /* x に4が代入されたかを確認*/

x = 6; /*xに別の値を代入*/
printf("%d\n", x); /* xに6が代入されたかを確認*/

x = x + 4; /*x の値を 4 大きくする*/
printf("%d\n", x); /*それを確認*/

return 0;
}
をVisualStudio2010で実行すると、必ず 4行目 x; のところでコンパイルエラーになります。
本の通り書いてるのですが、本当なら、表示が

750
4
4
6
10

と、なるそうなんですが、何がおかしいのでしょうか? 教えて下さい。
657デフォルトの名無しさん:2012/11/07(水) 23:50:43.64
ttp://ideone.com/WGqtfs
別にならんが
4行目ってどこだよ
658デフォルトの名無しさん:2012/11/08(木) 00:11:25.16
>>656
でコンパイルエラーになったときのメッセージを含めてそのまま貼って
659デフォルトの名無しさん:2012/11/08(木) 00:45:40.01
>>658

Run-Time Check Failure #3 - The variable'x' is being used
Without being initialised.
(Press Retry to debug the application)

とでます
660デフォルトの名無しさん:2012/11/08(木) 00:51:53.90
そのまんまの意味だろ…
661デフォルトの名無しさん:2012/11/08(木) 01:32:02.52
>初期化されていないローカル変数 'x' が使用されます

printf("%d\n", x); /* xの値は不明*/

意図してやっているんだから、それで良いんじゃない?
それでコンパイルが通らないなら、nt x=750; とかする
662デフォルトの名無しさん:2012/11/08(木) 01:34:29.64
コンパイルエラーじゃなくてランタイムエラーだと思うの
663デフォルトの名無しさん:2012/11/08(木) 02:08:15.23
どうして750になるんだ?
どういう値になるか不明なんじゃないの?
664デフォルトの名無しさん:2012/11/08(木) 02:14:03.19
その古い本とやらには不定値になるって書いてるんじゃないか?
ただ例として出しただけで
665デフォルトの名無しさん:2012/11/08(木) 03:42:24.83
その本に載せるためにテストした結果が750になっただけで
どの環境でも750になるわけではない
666デフォルトの名無しさん:2012/11/08(木) 20:55:53.60
環境:Windows XP(32bit)、VC++ 2005

ある与えられた文字列をバイナリに変換して16バイトのバイト配列に入れる
与えられる文字列は、バイナリ変換した時に128bitまでに収まる数値の文字列とする
という問題で困ってます
例:
"1234"
→1234(4D2h)
→00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,04h,D2h

で、QWORD以上は整数値にできずに困っています。
"18446744073709551616"
→10000000000000000h
→00h,00h,00h,00h,00h,00h,00h,01h,00h,00h,00h,00h,00h,00h,00h,00h,
どのように処理すればいいのでしょうか?
667デフォルトの名無しさん:2012/11/08(木) 20:57:57.06
宿題は宿題スレに
668666:2012/11/08(木) 21:05:41.81
番号がオーメンに・・・

>>667
学生ではないのですが、通信仕様を渡されてやっといてという事なので、一応宿題になるのですかね?
授業単元とかないので迷ったのですが、向こうで聞いてみます。
ありがとうございました。
669デフォルトの名無しさん:2012/11/08(木) 21:26:18.27
670デフォルトの名無しさん:2012/11/09(金) 13:01:20.92
ShellExecute(NULL, "open", "http://www11.plala.or.jp/studyhall/", NULL, NULL, SW_SHOW);

この文を消すもしくはコメントアウトすると

エラー1error LNK1123: COFF への変換中に障害が発生しました: ファイルが無効であるか、または壊れています。

というエラーがでます。なんで文を消すだけでエラーになるのかがわからない。
671デフォルトの名無しさん:2012/11/09(金) 13:30:26.31
今確認したらまったくなにも書いてない状態でのデバックでも
同じエラーでる・・・ファイルがひらけないってやつが
672デフォルトの名無しさん:2012/11/09(金) 14:17:31.56
失敗して終了してるつもりが
ウィンドウの見えない
ゾンビプロセスが残ってるんだろ
タスクマネージャで心当たりのあるexeを終了させてみれば桶
673デフォルトの名無しさん:2012/11/09(金) 15:07:26.48
1>------ ビルド開始: プロジェクト: 999, 構成: Debug Win32 ------
1> stdafx.cpp
1> 999.cpp
1> AssemblyInfo.cpp
1> コードを生成中...
1> .NETFramework,Version=v4.0.AssemblyAttributes.cpp
1>LINK : fatal error LNK1104: ファイル 'OLDNAMES.lib' を開くことができません。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

こんなエラーがでる。まったくプログラムとか記載する前の状態です。
674デフォルトの名無しさん:2012/11/09(金) 16:14:53.20
path
675デフォルトの名無しさん:2012/11/09(金) 18:10:13.16
駄目だ・・・全てにおいてビルドできない
676デフォルトの名無しさん:2012/11/09(金) 19:12:54.11
再インストールしても駄目ってなんだよ・・・
俺のc++人生終わったかw

まだ入門レベルなのに('A`)
677デフォルトの名無しさん:2012/11/09(金) 19:16:23.80
1つ質問。
VC++って、1文字目が数値のプロジェクトって作れるんですか?
678デフォルトの名無しさん:2012/11/09(金) 19:32:15.69
>>676
OSの再インストール
679デフォルトの名無しさん:2012/11/15(木) 06:57:05.16
vc2008をコマンドラインで使ってるんですがc1074 idbはpdbファイルには無効な拡張子です
とでるんですがmain(){}だけのファイルをコンパイルしてもでます。
解決方法ありましたらおねがいします
680デフォルトの名無しさん:2012/11/15(木) 11:37:40.47
CString が含まれる定義体でメモリ確保したい場合はどうすればいいですか?

typedef struct _HOGE
{
 CString str1;
 CString str2;
 CString str3;
} HOGE;

HOGE *hoge = (HOGE*)HeapAlloc(GetProcessHeap(), 0, sizeof(HOGE));
681デフォルトの名無しさん:2012/11/15(木) 12:25:07.10
HOGE *hoge = new HOGE;
682デフォルトの名無しさん:2012/11/15(木) 12:41:15.23
構造体には実体じゃなくてスマポ突っ込めば?
683デフォルトの名無しさん:2012/11/15(木) 13:22:50.91
>>681
ありがと
684デフォルトの名無しさん:2012/11/19(月) 23:12:15.06
CString str[3];
685デフォルトの名無しさん:2012/11/27(火) 01:33:59.97
2010アカデミックってとっくのとうに販売終わってたんだな……
686デフォルトの名無しさん:2012/12/02(日) 14:07:19.69
VC++でフォームアプリケーションを作ろうと思い、プロジェクトを新規で作ったのですが
コードをそのまま(変更せず)にビルドしようとするとエラーが出ます
どうしたらいいですか?
687デフォルトの名無しさん:2012/12/02(日) 15:05:08.26
please show us error messages
688デフォルトの名無しさん:2012/12/05(水) 23:25:32.18
This problem not an error. It's my wife. hahaha
689デフォルトの名無しさん:2012/12/07(金) 01:28:27.62
リソースダイアログを使わずに、IEの表示部分(IEコンポーネント?)を特定のウィンドウの子コントロールとして追加したいです。
が、検索してみるとリソースダイアログ上で張り付けたコントロールの取得方法ばかり見つかり、結局方法が分かりませんでした…。

コモンコントロール(EditとかTreeViewとか)と同じような感じで使用したいだけなのですが、
どのようにすると可能でしょうか。

Doc/Viewの分離はしておらず、CHtmlViewは利用できませんでした。
comでIWebBrowser2をCoCreateInstanceしてみた所、成功してはいたようだったのですが
HWNDの値の取得もCreateWindowもしておらず、どのようにサイズ変更すればよいのかなど分かりませんでした。

技術的な面では、Vista以降あたりで動作してくれればよいと考えております。
ご助力お願いいたします。
690デフォルトの名無しさん:2012/12/07(金) 06:31:51.54
self.ie = iewin.IEHtmlWindow(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
self.ie.LoadUrl(self.current)
self.ie.Navigate(URL)
691デフォルトの名無しさん:2012/12/11(火) 16:06:33.83
C言語のみ経験があるプログラミング初心者です。
>>66の人と全く同じことをしたいと考えています。
ヘッドマウントディスプレイのセンサー値を取得して、
別プログラムの中での視点移動に連動できるようにしたいです。

公式のサンプルは問題なく実行できました。
ウィンドウに表示したりといったGUIの部分は不要で、
数値だけ取得して、ソケット通信で別プログラムに渡せば実現可能だと
考えていますが、サンプルを眺めてもどこをどういじればいいのか分からない状態です。
692デフォルトの名無しさん:2012/12/11(火) 16:13:08.23
サンプル見てもわかりませんの人に
ちょちょいっと教えてどうにかなるとはとてもじゃないが思えないんだが
なのでこんな場所ではなく、まともな人に対価を支払って教えてもらうのが一番正しい選択だと思いました。
693デフォルトの名無しさん:2012/12/14(金) 21:45:02.01
コンストラクタでエラーをNULLで返したいのですが
戻り値を指定出来ません
例外をださずにNULLを返すにはどうすればいいのでしょう?
694デフォルトの名無しさん:2012/12/14(金) 22:00:46.70
失敗するような処理は、別のメンバ関数などに外だし?する。
695デフォルトの名無しさん:2012/12/19(水) 20:58:29.02
中だし派だけどどうしたらよいですか
696デフォルトの名無しさん:2012/12/19(水) 21:04:56.22
ゴムでも付ければ?
697デフォルトの名無しさん:2012/12/20(木) 10:41:23.77
俺は昆布だしだな
698デフォルトの名無しさん:2012/12/20(木) 11:12:49.54
かつお風味の
699教えてちゃん:2012/12/20(木) 12:45:14.11
GetComm○○、SetComm○○系の関数が1つも成功しないです。
OSはXPSP3、開発はVS2010を使用、

プログラムの内容は下記と大体同じで、違うのはCOM1ではなくてパイプを使っている点。
http://msdn.microsoft.com/en-us/library/aa363201.aspx

書いているプログラム(クライアント側)

HANDLE hpipe = CreateFile(L"\\\\.\\pipe\\test", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(hpipe == INVALID_HANDLE_VALUE) return;

BOOL ret;
COMMPROP prop;
DCB dcb;
COMMTIMEOUTS timeout;
ret = GetCommProperties(hpipe, &prop); // ステップ実行で確認→1つも成功しない。 @err=1
ret = GetCommState(hpipe, &dcb);
ret = GetCommTimeouts( hpipe, &timeout); // SetCommTimeoutsもできない。

// ReadFile, WriteFile は成功する。

CloseHandle( hpipe );



よろしくおねがいします
700デフォルトの名無しさん:2012/12/20(木) 12:59:36.97
普通にパイプには使えないだけなんでしょう
701699:2012/12/20(木) 13:03:23.31
>>700
パイプはタイムアウト設定できないんですか?
702699:2012/12/20(木) 13:47:31.72
情報すくないながら、できないようなこと書いてる人がいました。
とりあえずあきらめます。

http://stackoverflow.com/questions/13767989/named-pipe-reading-timeout
703デフォルトの名無しさん:2012/12/21(金) 02:27:00.96
Win32APIのGetOpenFileNameをコールするとVC++2008EEで
「Win32スレッド」というスレッドが3つ立ち上がり、
ダイアログを閉じた後でもそのまま居残り続けます。

何なんすかこれ?
704デフォルトの名無しさん:2012/12/21(金) 02:31:06.88
適当にコールスタック見ればわかるのでは?
705デフォルトの名無しさん:2012/12/22(土) 21:22:36.15
>>703
気にする必要なし
706703:2012/12/22(土) 21:37:31.37
>>704
オープンダイアログが開くところでブレークかけてコールスタック見てみましたが、
GetOpenFileNameをコールしている自分の関数より上のものは見られませんでした。

>>705
了解です!
707デフォルトの名無しさん:2012/12/25(火) 23:56:48.48
.hと.hppの違いは何でしょうか
708デフォルトの名無しさん:2012/12/25(火) 23:58:29.98
h->cのヘッダファイル hpp->cppのヘッダファイル
709デフォルトの名無しさん:2012/12/26(水) 00:13:13.78
確かにそうなんですけども、拡張子の表記以上の違いはないのでしょうか
.hでも.hppでも動作に違いが無いように思います
単にコンパイラがC++だから両方ともC++としてコンパイルされているということでしょうか
710デフォルトの名無しさん:2012/12/26(水) 00:45:27.63
hpp は C++ のテンプレートとかを使用していてコードをヘッダファイルに書かなければならない場合に
「使われることもある」拡張子じゃなかった?

C++ でも普通のヘッダファイルは .h だろ。
711デフォルトの名無しさん:2012/12/26(水) 10:32:52.59
C++は
#include <cstdio>
とか
#include <strstream>
とか
.h
無いのが普通
712デフォルトの名無しさん:2012/12/26(水) 11:27:55.25
別に拡張子なんてただの決めごとで、動作に違いなんて出るわけない
713デフォルトの名無しさん:2012/12/26(水) 22:40:44.84
トップウィンドウに対して SetWindowSubclass や SetWindowLongPtr でサブクラス化する場合に多重にサブクラス化するとエラーになってしまうので、既にサブクラス化済みかを判定するにはどうしたら良いですか?
714デフォルトの名無しさん:2012/12/26(水) 22:43:10.91
トップウィンドウに対して SetWindowSubclass や SetWindowLongPtr でサブクラス化する場合に多重にサブクラス化するとエラーになってしまうので、既にサブクラス化済みかを判定するにはどうしたら良いですか?
715デフォルトの名無しさん:2012/12/27(木) 04:12:25.92
GetWindowLongPtrでDefaultProcじゃなければでいいんちゃう?
716デフォルトの名無しさん:2012/12/27(木) 08:09:17.01
>>715
すみません、説明が抜けていました...別プロセスのウィンドウがサブクラス化されているか判定したいのです。
717デフォルトの名無しさん:2012/12/27(木) 17:54:51.80
>712
そう思い、VC++でソースファイル名をxxx.cで書いてコンパイルエラーがorz
718デフォルトの名無しさん:2012/12/31(月) 10:24:56.51
includeなら変わらん。
コンパイルオプション付けるくらいなら拡張子替えるけどな。
719デフォルトの名無しさん:2013/01/07(月) 20:07:13.66
>>716
多重にサブクラス化して
(そのサブクラス化をやめようとする以外の状況で)
どういうエラーになるのか分からないけど、
GetClassInfoExで元々のウィンドウプロシージャが取得できるかもしれない。
別プロセスのウィンドウに対してGetClassInfoExでそれが取得できるのか知らないけど。
720デフォルトの名無しさん:2013/01/07(月) 20:09:54.18
Visual Studio 2010 で windws form
にて chart control でグラフ表示をしています
そこでchart controlの使い方で質問なんですが
たとえばタイマーなどで以下のようなプログラムをループさせていて
for(int i= 0; i>100; i++){
chart1->Series[0]->Points->Add(i);
}
コンパイルしてグラフをみていくとX軸が1づつ増えて自動でX軸のMAXを延長してくれますが
このときにX軸を0からMAXまでではなく最新の20だけ(iが80ならminが60、max80)みたいに
X軸の範囲を決めて使うことって可能でしょうか?
よろしくお願いします
721デフォルトの名無しさん:2013/01/12(土) 15:19:31.20
あるクラスの中でRegisterClassEx関数とCreateWindowEx関数を別個のメソッドの内部で呼び出すとCreateWindowEx関数がエラーを出す
GetLastError関数によるとエラーは1407(Cannot find window class)とのこと
一方で、一つのメソッドの中で順に呼び出すとエラーなく実行された
MSDNによるとCreateWindowEx関数が失敗する原因は、
?パラメータに無効な値が指定された。
?システムクラスを登録したモジュールが別のモジュールである。
?WH_CBT フックがインストールされており、失敗コードを返した。
?WM_CREATE または WM_NCCREATE のウィンドウプロシージャが失敗した。
の四つであるそうで、二つ目の「?システムクラスを登録したモジュールが別のモジュールである。」の項にあることが原因であるように思われます

つきましては、質問なのですが、この「?システムクラスを登録したモジュールが別のモジュールである。」というのはどういう意味なのか(モジュールとは一体何のことを指して言っているのか)、
二つの関数を別のメソッドで呼び出すことはできないのかについて、どなたかご教示頂けないでしょうか
722デフォルトの名無しさん:2013/01/12(土) 17:33:46.73
hInstanceの値が二つの関数で一致してないと言う意味じゃないかな
723デフォルトの名無しさん:2013/01/12(土) 23:59:18.83
>>722
ありがとうございます!
このレスで自らの過ちが明確にわかりました。自分がまぬけでした
RegisterClassEx関数を呼び出すメソッドの方に、「this->hInstance = hInstance;」と書き加えたところ正常に動作しました
724デフォルトの名無しさん:2013/01/16(水) 15:23:13.91
Web browserで広告クリックすると強制的にIEで開いてしまう
のですが、強制的にweb browserの中で開く方法を教えてください
VisualBasic2010
725デフォルトの名無しさん:2013/01/20(日) 18:58:09.52
template関数の実装はヘッダ内部で書かないとリンクエラーを起こすようなのですがどうしてなのでしょうか
googleで検索してみたもののはっきりと説明のされたサイトが見つかりません
726デフォルトの名無しさん:2013/01/21(月) 00:05:24.85
ヘッダに全部書いとかないと
たとえばstd::vector<int>とかしたときに定義が作成できないから
727デフォルトの名無しさん:2013/01/21(月) 00:19:29.40
別にヘッダに書かなくても、関数の具体化の宣言をテンプレート関数のある翻訳単位に
まとめておけばいいんだっけ?
それが嫌なら全部ヘッダに書け、と
728デフォルトの名無しさん:2013/01/21(月) 00:20:49.28
>リンクエラー
729デフォルトの名無しさん:2013/01/21(月) 15:49:20.79
ソースファイルを複数に分けて作業するときに変数の宣言や受け渡しを分かりやすく説明してるサイトや書籍はありますか?
730デフォルトの名無しさん:2013/01/21(月) 15:51:14.27
ここで聞けばいいよ
731デフォルトの名無しさん:2013/01/21(月) 16:02:15.64
何かを作っているってわけではないのですが
ソースファイルを一つですることに慣れてしまってコンパイルに掛かる時間だったり公開するときに恥ずかしかったりで分けてできるようになりたいたいと思ったのですが今までと勝手が違ったりで
732デフォルトの名無しさん:2013/01/21(月) 16:41:12.37
>>729
C言語入門書の次に読む本

みたいなタイトルの本には、それっぽいのが載ってた

まあ、分割コンパイルでググれば良いと思う
733デフォルトの名無しさん:2013/01/21(月) 16:55:07.48
丁度自分の欲しそうな本だったので早速ぽちりました
ありがとうございます!
734デフォルトの名無しさん:2013/01/22(火) 07:29:01.77
リンカの概念は難しいよな
今でもテンプレートとか使うとわかんなくなる
735デフォルトの名無しさん:2013/01/24(木) 01:54:05.47
visual c++ 2008にでopencvを使ってプログラムを組み
while文を終了した時にcmd.exeが終了しません。
コマンドプロンプトのアプリケーションの終了でも
プロセスの終了でも終了できず、パソコンの電源ボタンを
押すしか対処できません。
ビルドも正常にできて、正常に実行されますが、
終了がうまくいきません、どうしたらいいのでしょうか?
736デフォルトの名無しさん:2013/01/24(木) 02:37:22.00
atexit()すればいいんじゃないかな
737デフォルトの名無しさん:2013/01/24(木) 14:49:38.58
CPUは正常に暴走しています
738デフォルトの名無しさん:2013/01/27(日) 00:17:51.13
propertyキーワードって何をしているんでしょうか?
また使う意味は?
739デフォルトの名無しさん:2013/01/27(日) 00:48:10.49
740デフォルトの名無しさん:2013/01/27(日) 01:59:20.84
>>739
つまり
propertyキーワードの中にgetとsetの定義がされてあって
入力のときはset,出力のときはgetが自動で使われるということ?
741デフォルトの名無しさん:2013/01/27(日) 12:28:37.67
まあそんな感じ
C#の機能の一つだったものを、VC++独自の拡張として導入したもの
「C# property」で検索すれば出てくる
742デフォルトの名無しさん:2013/01/30(水) 11:55:40.70
>>735
デバッガ上ではどうなるの?
743デフォルトの名無しさん:2013/02/02(土) 21:29:21.69
cURLとlibcurlのライブラリを使うにはプロジェクトのプロパティにどう設定すればいいのでしょうか?
ファイルはlibcurl-7.19.3-win32-ssl-msvc.zipとcurl-7.28.1.zipをDLしました。
環境はwindows7 64bit、Visual C++ 2010 Expressで、WIN32コンソールアプリです。
744デフォルトの名無しさん:2013/02/03(日) 11:24:20.61
>>743
普通にincludeとlibの設定すれば行けると思うけど。
プロパティで言えば
VC++ディレクトリのライブラリティレクトリ、
C/C++の追加のインクルードディレクトリ、
リンカー 入力 の追加の依存ファイル、
の3つかな。
DLL使うならそれなりの設定やコピーもね。
745743:2013/02/03(日) 15:27:59.79
>>744
リンカー 入力 の追加の依存ファイルを設定したら動きました。
ありがとうございました。
746デフォルトの名無しさん:2013/02/04(月) 21:50:40.98
VC++を使ってマウスショートカット的なアプリケーションを作りたいのですが、
特定のアプリケーションごとに動作を切り替えるような処理を作るのに
参考になるようなページはありますか?

もしくはこういうワードで調べると出てくる、といったものでも結構です。
ご存知のかたお願いします。
747デフォルトの名無しさん:2013/02/04(月) 21:55:35.51
GetForgroundWindow
748デフォルトの名無しさん:2013/02/05(火) 14:59:36.63
A.hファイルで構造体を宣言し、B.cppで実体宣言してるはずなんだけど
C.cppでメンバに値を代入すると波線が引かれ定義されていないと言われる
でもそこで右クリックから宣言へ移動や定義へ移動をするとB.cppの実体宣言したところに飛ばされる

いろいろ試行錯誤したけどついに意味がわからなくなりました
どういうことなんでしょうか VC++です
749デフォルトの名無しさん:2013/02/05(火) 15:04:27.75
C.cppでA.hをincludeしてないんだろう
750デフォルトの名無しさん:2013/02/05(火) 15:32:23.37
B.cppの実体はC.cpp上、もしくはincludeファイル上でextern宣言されてる?
751デフォルトの名無しさん:2013/02/05(火) 16:04:18.04
ただのインクルードしわすれだろ
752デフォルトの名無しさん:2013/02/05(火) 22:05:19.20
ちなみに、ビルドしてエラーになる?
インテリセンスでそういうのなら、正常な状態でもたまになったような。
753デフォルトの名無しさん:2013/02/05(火) 22:15:31.78
試しにファイル名変えたら開けませんって返ってくるから
インクルードは大丈夫なはず

ファイル分割前は
typedef struct tagABC
{
typedef struct tagXYZ
{
inti;
doublej;
}XYZ;
XYZ xyz[10];
}ABC;
ABC abc[5];

abc[0].xyz[0].i=1;

みたいに書いてたんだけど (すいませんレス分けます)
754デフォルトの名無しさん:2013/02/05(火) 22:17:43.40
これを分割しようとして
A.hに
typedef struct tagABC
{
typedef struct tagXYZ
{
inti;
doublej;
}XYZ;
XYZ xyz[10];
}ABC;

B.cppに
ABC abc[5];

で、C.cppで
abc[0].xyz[0].i=1;//識別子abcが定義されていません (abcに波線)

で、ビルドしたら
C.cpp(○○): error C2065: 'abc' : 定義されていない識別子です。
っていう状況
多分B.cppの実体宣言がちゃんと出来てないんだと思う
あとXYZはこのままでいいのか疑問
でもB.cppでABCと同じようにしようとしたらエラー吐かれる
755デフォルトの名無しさん:2013/02/05(火) 22:29:01.41
>>750 を読んで理解してる?
756デフォルトの名無しさん:2013/02/05(火) 22:32:19.06
>>754
A.h内でextern ABC abc[5];
A.hをB.cpp C.cppでインクルード
使用したい.cppではextern無しでABC abc[5];
757デフォルトの名無しさん:2013/02/05(火) 22:45:03.04
すみませんでした
なんか焦ってて飛んでました
わざわざtodoまで書いて下さってありがとうございます
758デフォルトの名無しさん:2013/02/06(水) 00:09:52.82
みんな優しくてよかったね
759デフォルトの名無しさん:2013/02/06(水) 17:07:25.80
同名関数の引数の型違いのつもりで
bool Hoge(bool);
int Hoge(int);
を定義したのですが
コンパイルしようとすると
区別出来ないと言われてるみたいです
どうすれば回避できますか?
760デフォルトの名無しさん:2013/02/06(水) 17:08:24.49
間違った
int Hoge(bool);
int Hoge(int);
です
761デフォルトの名無しさん:2013/02/06(水) 17:24:16.72
762デフォルトの名無しさん:2013/02/06(水) 17:25:53.78
関数名を違うものにする
763デフォルトの名無しさん:2013/02/06(水) 17:26:49.76
BOOLはダメだよ、BOOLそのものはintのtypedef
764デフォルトの名無しさん:2013/02/06(水) 19:24:08.77
bool と BOOL まちがえてたのか
765デフォルトの名無しさん:2013/02/06(水) 19:49:50.78
>>747
ありがとうございました。
Express使おうと思ってますのでWTLでも入れてみようかと思ってるんですが
MFCじゃなくてもこの関数って使えますか
766デフォルトの名無しさん:2013/02/07(木) 08:14:46.38
>>761-764
まさにそれです
ありがとうございますた
767デフォルトの名無しさん:2013/02/07(木) 10:23:35.03
こんないいスレだったのか
768デフォルトの名無しさん:2013/02/07(木) 10:46:05.55
どうせ自演なんだし
マスゴミのやらせや印象操作と同じで
捏造やりたい放題
769デフォルトの名無しさん:2013/02/07(木) 11:03:41.06
自演、自演ってうるさい。おまえこそ常習犯だろ。
ふつうは、自演なんていう発想をしない
770デフォルトの名無しさん:2013/02/07(木) 11:04:20.70
ブラウザ
771デフォルトの名無しさん:2013/02/07(木) 19:30:51.75
最近 急に大量のpdbを開くようになっちゃったんだけど
そのせいでデバッグが始まるのに10秒くらいかかる

ntdllのpdbなんていらないよー
どうしたらいいの
772デフォルトの名無しさん:2013/02/08(金) 12:29:12.61
オプション→デバッグ→シンボルのリストのチェックを外す
773デフォルトの名無しさん:2013/02/09(土) 11:05:32.28
ソースの総行数知りたいです
774デフォルトの名無しさん:2013/02/09(土) 16:23:20.51
VS のcl で定義済みマクロ一覧を表示するにはどうしたら良いでしょうか?
gcc -E -dM -x c++ -std=c++11 /dev/null | sort
みたいなのと同じことができればOKです
cl /E までは同じようなオプションがあるんだけど、 -dM 相当のオプションってどれなんでしょうか?
cl /? 見てる限りだとわからないです・・
775デフォルトの名無しさん:2013/02/10(日) 02:57:35.94
ヘルプ。
途方もないコードのデバック途中で寝たくなったときってどうしてる?
今、言ったん寝て昼から同じ所スタートでデバックし直したいんだけど…
776デフォルトの名無しさん:2013/02/10(日) 10:31:57.09
>>775
状況が許されるなら寝ればいい。頭が硬くなってるならそれ以上のものはない。
許されないなら、エナジードリンク系でものみながらしなない程度に頑張れ。
777デフォルトの名無しさん:2013/02/10(日) 11:33:41.86
起きる手段があるなら20分くらいの仮眠が効く
778デフォルトの名無しさん:2013/02/10(日) 12:20:45.97
チームでやってるなら、リーダーに要請して順に1時間くらいずつ仮眠を取るのが最善なんだけどね。
疲れてるときに単純にひとりで寝た日には起きたときにはすべてが終わってたりするから怖いよな。。
779デフォルトの名無しさん:2013/02/10(日) 12:37:56.25
1時間だと脳が睡眠体勢に入ってしまうので、、、寝るための準備時間というのなら
そんなもんかなあ。
780デフォルトの名無しさん:2013/02/11(月) 19:53:41.10
>>772
ありがとう!設定をいじってみる
781デフォルトの名無しさん:2013/03/03(日) 11:01:21.58
今まで初期状態でメインプロシージャまでやってくれる形でやってたけど
自分の型みたいなのが出来たから空のプロジェクトで作るようになった

今までに作ったソースを全て自分の型Verに書き換えないと
なんか仕事やり残した感があって気持ち悪い

他の人はこういう経験ある?
あるけど書き換えずに新しいのだけ自分の型Verにしてる?
782デフォルトの名無しさん:2013/03/03(日) 11:15:36.09
気になったやつだけやってる
783デフォルトの名無しさん:2013/03/03(日) 11:25:21.95
プロとしてなら、完成品に対しては出来ない。品質以前に必要な手順がありすぎだし。
趣味としてなら、次に必要になったときに最初から作り直す。
784デフォルトの名無しさん:2013/03/03(日) 13:04:30.30
>>781
分かる分かるw

自分の場合は、新しく作るときに適用するようにして、
過去のは基本的にいじらないなぁ。

でも、新しく作る度に洗練されていく感があって楽しいよ。
785デフォルトの名無しさん:2013/03/03(日) 13:05:00.80
他の人も経験あるんですねありがとうございました
786デフォルトの名無しさん:2013/03/03(日) 21:10:13.68
サブクラス化されたプロシージャ外の変数へアクセスする方法は
ユーザー定義のメッセージを使用してアドレスを渡すくらいしかないですか?
サブクラス化する時に一緒に渡せると楽なのですが
787デフォルトの名無しさん:2013/03/03(日) 21:22:09.76
グローバル変数
788デフォルトの名無しさん:2013/03/03(日) 21:35:51.87
いっぱいありすぎて困る
メッセージの方法知ってるならそれ使えばいい。どんな方法でも渡せればいいんだから多少効率悪くても気にするなって
データ量や用途によって使い分けるものだから、それでも気になるならマルチしてないでぐぐって解決しとけ
789デフォルトの名無しさん:2013/03/03(日) 21:36:32.22
SetWindowSubclass(hWnd, Proc, id, data);
RemoveWindowSubclass(hWnd, Proc, id);
DefSubclassProc(hWnd, Msg, wParam, lParam);
でいいんじゃね
790デフォルトの名無しさん:2013/03/03(日) 21:40:20.39
マルチ見当たらないぞ
レス付きにくくさせるために言ってるのか?
791デフォルトの名無しさん:2013/03/03(日) 21:47:51.70
VIPでやってたんだよ
792デフォルトの名無しさん:2013/03/03(日) 21:53:14.62
URL無しって事は後はわかるな
793デフォルトの名無しさん:2013/03/03(日) 23:25:29.88
>>789
ありがとうございます
dataとして一緒に渡せました
794デフォルトの名無しさん:2013/03/10(日) 16:49:11.64
プログラミング初めて間もない者です
2010のCLRのWindowsフォームアプリで

一問一答形式の問題を作ってるんですが
回答を入力した後、正解かどうか判別して結果表示するプログラムはどうすれば作れますか?

問題文のLabelに文を入れ、回答欄と結果表示用のTextBoxとLabelを置くところまではできたんですが
795デフォルトの名無しさん:2013/03/10(日) 16:50:50.23
C#じゃいかんの?
796デフォルトの名無しさん:2013/03/10(日) 17:03:12.39
VC++のスレで何言ってんの?
797デフォルトの名無しさん:2013/03/10(日) 17:05:18.71
だからいかんのか聞いておる
798>>794:2013/03/10(日) 17:11:23.86
>>795>>797
VisualC#最適ってことはよく聞くけど、実感としてにどれくらい便利か分からない(理解できる知識もない)から
C#を独自に学ぶべきか判断できない感じです
799デフォルトの名無しさん:2013/03/10(日) 17:41:36.81
>2010のCLRのWindowsフォームアプリ
これをそのレベルから始めるなら、C#で同じことやるやり方覚えてから
C++に戻った方が進みが早い気はする・・・

回答したらボタンかなんか押して、そのタイミングで判定するんじゃないの?
ボタン並べてダブルクリックすれば、メソッドできるからそこでやればいいと思うよ。
800デフォルトの名無しさん:2013/03/10(日) 21:47:51.94
たとえば、カンマ区切りのテキストファイルかなにか用意しといて(こんなの)
1,質問1,選択肢a,選択肢b,選択肢c,答えb<CR+LF>
2,質問2,選択肢d,選択肢e,選択肢f,答えd<CR+LF>
3,質問3,選択肢g,選択肢h,選択肢i,答えi<CR+LF>

テーブルに突っ込んで、順次それ表示して「答え合わせ」ボタン押したら答えと比較して合否表示
する感じでいいんじゃねーの?まずは
801デフォルトの名無しさん:2013/03/10(日) 22:09:29.01
ラベルに文字列を表示する方法
TextBoxに文字列を表示する方法
フォームに答えを選ぶボタンをおいて、そのボタンが押されたかどうかを判別する方法
まずはこの3つができるようにならないと。
802デフォルトの名無しさん:2013/03/10(日) 22:34:38.16
>>798
言語問わないならどれで書いてもいい、むしろ求める方向(言語学習したいのか、ものが出来上がればいいのか)
にしたがえばいいのだよ
803デフォルトの名無しさん:2013/03/11(月) 18:12:52.07
http://homepage2.nifty.com/natupaji/DxLib/dxuse_vc2010express.html
これやってるんだけど最後のデパックでエラーになってしまう
1>------ ビルド開始: プロジェクト: test, 構成: Debug Win32 ------
1> DrawPixel.cpp
1>c:\users\www\documents\visual studio 2010\projects\test\test\drawpixel.cpp(1): fatal error C1083: include ファイルを開けません。'DxLib.h': No such file or directory
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
てでるんだけどどこが悪いんですか?

VisualC++ 2010 Express Edition のWin32です
804デフォルトの名無しさん:2013/03/11(月) 18:15:54.47
4.DXライブラリを使用するためのプロジェクトの設定を行う
を全部行ってないから
805デフォルトの名無しさん:2013/03/11(月) 18:34:30.68
>>803
サイト見てみたけど、そのエラーは
↓がうまくできてない
E 『追加のインクルードディレクトリ』の項目にDXライブラリのパッケージ内に入っている
        『プロジェクトに追加すべきファイル_VC用』フォルダのパスを入力してから、
         再度ダイアログ右下にある『適用』ボタンを押します。
    ( パスの例→  c:\DxLib_VC\プロジェクトに追加すべきファイル_VC用
      なお、DXライブラリをマイドキュメントフォルダに入れるとこれらのパス指定が面倒になりますので
      DXライブラリはなるべく浅いフォルダに入れておくことをお勧めします )
806デフォルトの名無しさん:2013/03/11(月) 22:33:25.37
HelloWorldできた!!!
807デフォルトの名無しさん:2013/03/11(月) 23:16:04.13
おめでとう!!
808デフォルトの名無しさん:2013/03/11(月) 23:45:42.18
ありがとう!!!!!
809デフォルトの名無しさん:2013/03/12(火) 00:28:48.97
セキュアな関数について質問なのですが
strcpy_s(buf1, n, buf2)
strncpy_s(buf1, n, buf2, m)
memcpy_s(buf1, n, buf2, m)
memmove_s(buf1, n, buf2, m)
のn > mが明らかな時は
strcpy_s(buf1, m + 1, buf2)
strncpy_s(buf1, m + 1, buf2, m)
memcpy_s(buf1, m, buf2, m)
memmove_s(buf1, m, buf2, m)
としても問題ない・・・ですよね?
またn > 100, m < 10の時
memcpy_s(buf1, 50, buf2, m)
みたいに適当な値を入れるのはあまりよくないのでしょうか?
これならいっそのこと警告を無視して「_s」の無い関数を使ったほうがいいのでしょうか?
810デフォルトの名無しさん:2013/03/12(火) 00:40:22.08
nはbuf1のサイズを指定する。
それ以下でも動くけど使い方としては間違っている。
811デフォルトの名無しさん:2013/03/12(火) 00:49:44.72
代入先のバッファーサイズ指定だから、質問的に根本的に理解できてないと思う
中途半端に_sを使うぐらいなら、警告無視して従来のでやってた方がいいと思うよ
812809:2013/03/12(火) 02:03:10.05
すいません、例えば
char buf[100] = "aaabbbcccdddeee";
char *buf1 = strchr(buf, 'd');
char buf2[] = "CCCDDD";
memcpy_s(buf1 - 3, sizeof(buf) - (buf1 - 3 - buf), buf2, 3);
みたいな時
memcpy_s(buf1 - 3, 3, buf2, 3);
としても期待した結果(buf:aaabbbCCCdddeee)が得られたので計算するのが何だか無駄に思えて・・・
上の第2引数の計算式もあってるか不安になりますし。
でもやっぱり下では何か問題があるのでしょうか?
813デフォルトの名無しさん:2013/03/12(火) 02:05:58.43
ふええ…変数こわいよぉ…
814デフォルトの名無しさん:2013/03/12(火) 03:35:05.30
無駄に思えるも何も、_sを使う意味合いを根本的に間違えてるから、_sを使わなくていいと思うよ
815デフォルトの名無しさん:2013/03/12(火) 08:17:17.77
>>812
>すいません、例えば
>char buf[100] = "aaabbbcccdddeee";
>char *buf1 = strchr(buf, 'd');
>char buf2[] = "CCCDDD";
>memcpy_s(buf1 - 3, sizeof(buf) - (buf1 - 3 - buf), buf2, 3);
strchr(buf,'d')で得られるポインタの3文字前が有効なんて仮定の話はしたくない。

>memcpy_s(buf1, sizeof(buf) - (buf1 - buf), buf2, 3);
これなら正しい
816デフォルトの名無しさん:2013/03/12(火) 09:36:09.64
charが1byteかどうか分からないから、つかうならsizeof(char)で割っておくべき
817デフォルトの名無しさん:2013/03/12(火) 09:43:16.76
charは1byteだと規格で決まっています
818デフォルトの名無しさん:2013/03/12(火) 09:58:41.64
そういう思い込みはドツボることがあるからやめたほうがいいと思うよ
819デフォルトの名無しさん:2013/03/12(火) 10:11:11.76
charは1バイトだろ
1バイトの幅が8ビットとは限らないけど。
820デフォルトの名無しさん:2013/03/12(火) 12:07:26.45
BYTE型はいつでも1バイトだと思ってたことがありました…
821809:2013/03/12(火) 12:12:41.81
>>814
少し調べ直しました。意図しない領域への書き込みを防ぐためですよね。
書き込み先のサイズが書き込むサイズより大きいのが明らかなら
この問題は起こりえないので_s無しの関数を使った"方がいい"、と解釈してもいいですか?
警告を消すためだけに_s付きの関数を使ってその上書き込み先のサイズの計算を大着するのはやっぱ言語道断なんでしょうか・・・

>>815
それは考えてなかったです。
確かに計算したアドレスが有効と断定するのは良くないですよね。
ただ実際有効で無いと困るので3行目と4行目の間に
if (buf1 - buf < 3 ) return 0;
を挿入しようと思います。これなら問題無い・・・ですよね?
822デフォルトの名無しさん:2013/03/12(火) 12:17:04.95
適当なことやるくらいなら
_CRT_SECURE_NO_WARNINGS
定義した方がまだまし。
823809:2013/03/12(火) 12:53:07.25
>>822
そういう風に警告を消せる事は知りませんでした。
これを定義して書き込み先のサイズが大きいところは_s無しの関数を使うことにします。

みなさんありがとうございました。
824デフォルトの名無しさん:2013/03/12(火) 12:53:45.87
>>822だな。仕事なら中途半端に使われると逆に困る。趣味なら_sは要らないと思う

>>812の例なら
strchrでNULLが返ったときのチェック
buf[-1]やbuf[100]に書き込まないようにチェック
この2つのエラー処理をしておけばいいというか、_sを使うよりそうしといた方がいいし、
もっと言えばstrcpyやstrcpy_sなんて捨ててCStringA::Replace使った方がいいでしょ
825809:2013/03/13(水) 14:37:13.19
>>824
趣味です。
ありがとうございます、大変参考になります。
826デフォルトの名無しさん:2013/03/13(水) 17:50:33.34
CreateWindowExのdwStyleパラメータに、既存のウィンドウからGetWindowLongで取得した値を使うとエラーが出ます(87, パラメータが違います)
そもそもCreateWindowExで新しいウィンドウを作った直後にGetWindowLongでdwStyleを取得すると、最初に指定した値とは全然関係のない値が帰ってきていました
どうすればいいのでしょう
827デフォルトの名無しさん:2013/03/13(水) 22:23:30.13
>>826
ウィンドウのクラス名とスタイルの値をさらせ
828デフォルトの名無しさん:2013/03/14(木) 01:00:39.27
http://codepad.org/wt2IZYYA
明解C言語入門編では このコードに12と入力すると0 1 2 3・・・
と数字の間に間隔が空くはずなのですがコードを打ってデバッグしてみると間隔があきません。
01234・・・ という感じになってしまいます。
環境はVisual C++2010 Expressです。
何回も見なおしたのでコードの打ち間違いではありません。
どうすれば間隔が空くのでしょうか?
829デフォルトの名無しさん:2013/03/14(木) 01:08:14.94
830デフォルトの名無しさん:2013/03/14(木) 01:08:29.02
%d が
831デフォルトの名無しさん:2013/03/14(木) 01:08:41.44
printf("%d ",i++);
832830:2013/03/14(木) 01:10:31.16
すみません、間違えて送信してしまいました。
>>828
%d が数字部分だから
" %d"または "%d "のように前か後ろに空白を入れればよい
833デフォルトの名無しさん:2013/03/14(木) 07:26:52.38
>>832
ありがとうございます。
よーく見てみたら本には空白空いてました・・・
putcharが原因かと思ってたのにここだったとは
834デフォルトの名無しさん:2013/03/14(木) 16:45:08.73
本も読めないヴァカ
835デフォルトの名無しさん:2013/03/14(木) 20:38:03.86
何故急に煽ったしww
836デフォルトの名無しさん:2013/03/14(木) 23:25:31.85
>何回も見なおしたのでコードの打ち間違いではありません。
837デフォルトの名無しさん:2013/03/14(木) 23:29:31.57
>>836
まあええやん
838デフォルトの名無しさん:2013/03/14(木) 23:49:00.89
>>836
まぁまぁw
839デフォルトの名無しさん:2013/03/14(木) 23:55:08.40
理由がわからないのに、自分の間違いではないと確信する雑魚は死んだ方がいい。
840デフォルトの名無しさん:2013/03/15(金) 00:05:58.73
初心者スレで煽ってるヤツこそ。
841デフォルトの名無しさん:2013/03/15(金) 01:17:44.86
その本がどういう書き方してるのか知らないが
内容的にループと文字出力の極初期の基本的なサンプルなんだから動作内容の説明があるだろうに
全く理解せずただ漫然と入力して結果だけ確認しようとしてる姿勢には眉を顰めるな
842デフォルトの名無しさん:2013/03/15(金) 05:33:45.76
おまえらプログラム1つ書けない初心者のくせして厳しいな
843デフォルトの名無しさん:2013/03/15(金) 09:11:43.60
初心者が文法などより先に覚えなければいけない鉄則

・自分が間違っている可能性が一番高い
・自分は間違っていないという判断が間違っている可能性が一番高い
・自分は間違っていないという判断は間違っていないという判断が間違っている可能性が一番高い
844デフォルトの名無しさん:2013/03/15(金) 09:28:38.57
思い込みが一番危険
自分のコードを読み返すときは書いたことを忘れて
一旦頭を真っ白にしてから読むこと
845デフォルトの名無しさん:2013/03/15(金) 09:29:36.03
ここはごく数人のヘタレどもがチンシコする糞スレです
うまく答えられないときはエラそうになんだかんだいちゃもんつけてきます
看板に偽りスレなので素人が質問しても時間の無駄です
わかったら相手にせず黙って去りましょう
846デフォルトの名無しさん:2013/03/15(金) 22:07:33.54
このスレわかりやすいです。ありがとうございます。
847デフォルトの名無しさん:2013/03/15(金) 23:04:43.32
初心者が初心者に嘘を教えるスレです
848デフォルトの名無しさん:2013/03/16(土) 09:54:42.90
良く読み返してみると、「教える側も、勘違いしている部分」も、
ないとはいえないわな。
849デフォルトの名無しさん:2013/03/16(土) 10:46:12.68
それはある意味あって当たり前だろ。
意図してウソ教えるのとは違う。
850デフォルトの名無しさん:2013/03/16(土) 11:20:21.58
初心者が初心者に上級者のフリして教えてたら
それはうそと言って良い
851デフォルトの名無しさん:2013/03/16(土) 12:09:50.18
姉は精神障害者
852デフォルトの名無しさん:2013/03/16(土) 12:39:59.19
俺は統合失調症
853デフォルトの名無しさん:2013/03/16(土) 15:23:00.13
弟は知的障害者
854デフォルトの名無しさん:2013/03/16(土) 20:54:35.81
兄は松崎しげる
855デフォルトの名無しさん:2013/03/16(土) 20:56:33.91
妹はヤンキー
856デフォルトの名無しさん:2013/03/17(日) 23:06:50.03
父は腎不全
857デフォルトの名無しさん:2013/03/18(月) 00:49:12.01
御前等歯1級精神障害者
マジで何のつもり?
858デフォルトの名無しさん:2013/03/18(月) 08:39:59.40
#include <stdio.h>
#include <time.h>
int main(int ac, char **av)
{
  time_t time;
  struct tm t, *l;
  t.tm_year = 2013 - 1900;
  t.tm_mon = 3 - 1;
  t.tm_mday = 18;
  t.tm_hour = 8;
  t.tm_min = 0;
  t.tm_sec = 0;
  time = mktime(&t);
  printf("%ld\n", time);
  l = localtime(&time);
  printf("%d-%02d-%02d %02d:%02d:%02d\n",
    l->tm_year + 1900, l->tm_mon + 1, l->tm_mday,
    l->tm_hour, l->tm_min, l->tm_sec);
  return 0;
}
これで 1363557600 2013-03-18 07:00:00 という結果になるのですが、
なぜ一時間ずれるのでしょう?
859デフォルトの名無しさん:2013/03/18(月) 09:49:21.61
普通はずれないと思うけどそれは謎だな
860デフォルトの名無しさん:2013/03/18(月) 10:28:57.20
サマータイムある場所?
861デフォルトの名無しさん:2013/03/18(月) 13:56:02.15
tm_isdstがクリアされてない。
862デフォルトの名無しさん:2013/03/18(月) 21:50:58.55
>>858
t.tm_mon を 7 とかにするとずれないね
863デフォルトの名無しさん:2013/03/19(火) 10:45:03.30
>7 とか
じゃなくて1から12までやってどれがずれてどれがずれないのよ。
って本人だよね?他にもずれる人いるの?
ずれてる人、PCの時刻設定でタイムゾーンどうなってる?
864デフォルトの名無しさん:2013/03/19(火) 11:29:18.27
>>861で解決でしょ。解決後にのこのこ出てきてボケる芸風?
865デフォルトの名無しさん:2013/03/19(火) 13:54:58.72
>>858
全部大文字で書け!
話はそれからだ。
866デフォルトの名無しさん:2013/03/19(火) 14:33:35.32
>>864
>>862はどうなんだ?
あと自分の環境でtm_isdstに何かセットして試してないだろ?
867デフォルトの名無しさん:2013/03/19(火) 14:51:39.61
時差9時\
868デフォルトの名無しさん:2013/03/19(火) 17:09:06.65
>>866
ずれる環境を用意できないゴミは参加資格なし。
869デフォルトの名無しさん:2013/03/19(火) 21:49:56.96
どうしてこう場外乱闘が好きなんだ。おまえら。
870デフォルトの名無しさん:2013/03/19(火) 21:51:38.82
>>858
Lと1の区別が付かないな。
大文字で書け。
871デフォルトの名無しさん:2013/03/19(火) 23:53:52.39
どんなフォント使ってんだw
872デフォルトの名無しさん:2013/03/20(水) 00:03:40.36
>>871
MS Pゴシック 12 pt
873デフォルトの名無しさん:2013/03/20(水) 13:08:26.88
アイコンをシステムトレイに格納する 方法をどなたかご教授いただけないでしょ うか? 使用環境はWindows7 HomePremium VC++2010 Express です。

d.hatena.ne.jp/peryaudo/20100512/1273671808 を参考にして書いてみましたが、 NOTIFYICONDATAが宣言されていな いと言われ、コンパイルが通りません でした。
874デフォルトの名無しさん:2013/03/20(水) 14:24:44.91
windows.hをincludeする前に、
#define WINVER 0x0501
とか入れるんじゃなかったっけ
875デフォルトの名無しさん:2013/03/20(水) 15:55:28.76
馬鹿には無理
876デフォルトの名無しさん:2013/03/20(水) 18:41:37.41
>>874
有難う御座います。自己解決しました。
877デフォルトの名無しさん:2013/03/20(水) 18:46:24.44
すげぇ・・・
878877:2013/03/20(水) 18:46:54.36
いや、自己解決だから違う理由かw
879デフォルトの名無しさん:2013/03/27(水) 21:40:36.36
基底クラスと派生クラス両方のコピーコンストラクタ、代入演算子を呼び出すにはどのようにすれば良いのでしょうか
880デフォルトの名無しさん:2013/03/27(水) 22:23:33.36
はよ
881デフォルトの名無しさん:2013/03/27(水) 22:31:38.82
>>879
thisを基底クラス型にキャスト
882デフォルトの名無しさん:2013/03/27(水) 23:16:03.19
ちょっと待て
何がやりたいんだ?
883デフォルトの名無しさん:2013/03/27(水) 23:31:25.22
>>881
やはりそうするしかないのでしょうか
コンストラクタやデストラクタは派生クラスの側で明示的に書かなくとも良い
884デフォルトの名無しさん:2013/03/27(水) 23:41:09.62
誤って書き込んでしまいました
コンストラクタやデストラクタは明示的に書かなくとも良いのにという思いです

>>883
今回やりたかったのは、参照カウントを持った基底クラスを継承することでコピーを管理するというものです
例えばLast()という関数で参照カウントが1であることを確認してからリソースを開放するなど
もちろん継承を使わなければ実装できないものではありませんが、クラス名の横にごにょごにょ書くだけで済むなら便利かなと考えたわけです
885デフォルトの名無しさん:2013/03/27(水) 23:45:37.12
derived_class::derived_class(const derived_class& d) : base_class(...)
{...}

base_class::operator=(value);
886デフォルトの名無しさん:2013/03/27(水) 23:47:59.38
>>884
派生クラスのコピーコンストラクタから、基底クラスのコピーコンストラクタを呼び出したいと言うこと?
887デフォルトの名無しさん:2013/03/28(木) 00:10:47.14
はよ
888デフォルトの名無しさん:2013/03/28(木) 00:19:04.01
>>886
そういうことです
勝手に呼ばれるものだと思っていたのですが、どうもそういう訳ではないようですね

>>885
これでうまくいきました
コピーコンストラクタでもこの書き方が出来たのは知りませんでした

レスありがとうございました
コンストラクタは何も書かなくとも自動的に呼ばれるのに対し、コピーコンストラクタは派生クラス側で明示的に呼び出してやる必要があるということのようです
やや不思議ではあります
>>884に書いたことはコピーや代入は使わずに適当にAddRef関数でも作っときます
889デフォルトの名無しさん:2013/03/28(木) 00:31:01.98
はよ
890デフォルトの名無しさん:2013/03/28(木) 00:31:28.73
なんかとんちんかんなこと書いてるな…
参照カウントの値だかポインタだかを渡さないといけないのでコピーやらはしなければなりません
まあ何でもいいですね、質問の本旨でもないですし
891デフォルトの名無しさん:2013/03/28(木) 00:34:20.72
はよ
892デフォルトの名無しさん:2013/03/28(木) 09:48:07.28
最高の頭脳はこんなところで油を売ってる暇はないし
暇があったとしてもとっくに他のコミュニティに移動してる

こんな匿名の叩き煽りが日常茶飯事で自分にメリットが薄いようなところは
最高の頭脳でなくともまともな人間でもさっさと去るよ

他にコミュニティがない10年前なら最高の頭脳もいたかも知れないが、
いつの間にかいなくなって今ではその幻想だけが残ってる

最高の頭脳持ってる奴は他のコミュニティに行っても入っていけるから困らなかっただろう
そしてそういったコミュニティで相手にされない奴が集まってるのが2ch
893デフォルトの名無しさん:2013/03/28(木) 10:10:45.28
>>888
コンストラクタで自動で呼ばれるのは、デフォルトコンストラクタのみだけどね。
デストラクタは自動で呼ばれるけど、これは唯一にしか存在しないからだね。
c++は基本的に、全て明示するのが基本で、例外的にいくつかの自動があると思った方が良いよ。
894デフォルトの名無しさん:2013/03/28(木) 15:34:23.65
なんかとんちんかんなこと書いてるな…
895デフォルトの名無しさん:2013/03/28(木) 19:37:00.71
おい一つ上のスレッド開こうとしたらマウスがずれてこの開いただろうが糞スレ上げんな氏ねキチガイ
896デフォルトの名無しさん:2013/03/29(金) 02:02:02.08
VC++2010をVistaで使用しています

空のプロジェクトを作成した時に
ソース ファイル
リソース ファイル
ヘッダー ファイル
この3つのフィルタがデフォルトで作成されるのですが
デフォルトで作成されるフィルタが
Main
ProjectName
みたいにカスタマイズした状態で作成されるようにしたいです
デフォルトで作成されるフィルタを変更するにはどうすればいいですか?
897デフォルトの名無しさん:2013/03/29(金) 06:35:58.93
wizardの生成用jsファイルを自分の好みに応じて編集すればいい
898デフォルトの名無しさん:2013/03/29(金) 07:53:53.23
カスタムウィザードのキーにたどり着いたのでやってみます
ありがとうございました!
899デフォルトの名無しさん:2013/03/29(金) 12:25:27.41
Express Editionで>>897をやる事ってできる?
カスタムウィザード項目が無い
900デフォルトの名無しさん:2013/03/29(金) 14:40:56.74
検索能力が皆無のお前には無理
901デフォルトの名無しさん:2013/03/29(金) 17:56:46.48
>>899
できる
902デフォルトの名無しさん:2013/03/30(土) 02:58:10.24
>>901
ウィザードではなくて
default.js
Templates.inf
.vsdir
.vsz
これらを直接変更加えて追加したら出来ました
ありがとうございました
903デフォルトの名無しさん:2013/03/30(土) 14:35:55.54
構成プロパティにある作業ディレクトリをDefault.jsで指定するにはどうすればいいですか?
904デフォルトの名無しさん:2013/04/02(火) 01:21:39.22
Main.exeからA.dllを呼んでA.dllからB.dllを呼んだ場合
A.dllのエディットコントロールではキー入力が処理されるのに
B.dllでは処理されません
どうすればB.dllのエディットコントロールでもキー入力が処理されるようになりますか?
905デフォルトの名無しさん:2013/04/02(火) 02:33:56.94
TranslateMessageとDispatchMessageをちゃんと呼んでるか確認
906デフォルトの名無しさん:2013/04/02(火) 09:49:30.13
>>903
var config = proj.Object.Configurations('Debug');
config.WorkingDirectory = Path;
でいけるはずだがエラーになるな

Default.vcxprojに
<LocalDebuggerWorkingDirectory>Path</LocalDebuggerWorkingDirectory>
追加したらいい
907デフォルトの名無しさん:2013/04/02(火) 10:21:55.84
>>905
MainでTranslateMessageとDispatchMessageを呼んだら実現できました

さらにリターンキーでデフォルトボタンが押された動作にしたかったので
メッセージループ内でDLLダイアログハンドルを保持させるstatic変数を宣言
→DLL内でFindWindowを使用してMainウィンドウハンドルを取得
→ユーザーメッセージを使用してDLLからMainへダイアログハンドルを送信
→IsDialogMessageで通常通りの分岐
最終的にはこのような感じに落ち着きました
ありがとうございました
908デフォルトの名無しさん:2013/04/04(木) 17:55:52.74
909デフォルトの名無しさん:2013/04/04(木) 18:54:58.46
VisualC++2008Expressです。

1つのソリューション内に2つのプロジェクト、A(exeプロジェクト)、B(DLLプロジェクト)を作ったとします。
AとBは同じモジュール(C++コード)を共有しており、Aでコンパイルした結果の.objをBのコンパイルでリンクさせたいとします。

このとき、対象となる共有モジュールをBでリンクさせるためには以下の方法があります。

方法1:
・プロジェクトAに共有モジュールをソリューションエクスプローラに登録
・プロジェクトBに共有モジュールをソリューションエクスプローラ上でプロジェクトAからコピーしてやる

方法2:
・プロジェクトAに共有モジュールをソリューションエクスプローラに登録
・プロジェクトBのプロジェクトのプロパティのリンカ設定で追加の入力から共有モジュールの.objファイルを指定する

なお、共有モジュールは複数あり、以後追加されていきますし、DLL化対象は都度変更します。
上記いずれの方法にしても、いちいちコピーやプロパティの変更が面倒です。
もし、プロジェクトAで生成された.objファイルを自動でリンクしてくれたら楽チンです。
ソリューションエクスプローラ上で複数のプロジェクトに共有(リンク)されるようにできる登録方法はないでしょうか??
プロジェクトの依存関係を設定(BがAに依存)するだけではダメでした。
910デフォルトの名無しさん:2013/04/04(木) 22:13:57.31
>>910
既にあるプロジェクトにリンク指定したいのか
新たに作成されるプロジェクトに初期値としてリンク指定したいのか
どっち?
911デフォルトの名無しさん:2013/04/04(木) 22:44:46.84
プロジェクトC(LIBプロジェクト)を作成し、そこに共有モジュールを登録する。
それが必要なプロジェクトにCへの依存関係を設定する。
912909:2013/04/04(木) 22:53:29.64
>>910
前者のほう、既にあるプロジェクト間でのリンクです。

>>911
なるほど、その手がありますね。
明日会社でやってみます。
913デフォルトの名無しさん:2013/04/04(木) 23:00:25.13
その手がってより、王道だけどな。
914デフォルトの名無しさん:2013/04/04(木) 23:30:54.25
dllプロジェクトを作成してビルドする時に.expファイルとかのdll以外のファイルもdllと同じ場所に出力されるのが嫌なので
全般->出力ディレクトリ->
リンカー->全般->出力ファイル->
この2箇所を変更したのですが

warning MSB8012: TargetPath() が Linker の OutputFile プロパティ値 () と一致しません。
このため、プロジェクトが正常にビルドされない可能性があります。
この問題を解決するには、$(OutDir)、$(TargetName)、および $(TargetExt) の各プロパティ値が、%(Link.OutputFile) で指定されている値と一致することを確認してください。

と警告が出てしまいます
dllファイルとexpの出力場所を変更してさらにこの警告が出ないようにするにはどうすればいいですか?
#pragmaの警告無視以外の方法があれば教えてください
915デフォルトの名無しさん:2013/04/05(金) 00:49:02.08
ビルド後イベントに必要なファイルだけをどっか適当なところにコピーするバッチファイルでも仕込む。
916デフォルトの名無しさん:2013/04/05(金) 12:26:57.71
そういう手段しかないのですね
ありがとうございました!
917909:2013/04/05(金) 20:19:11.56
>>911
できました!
理想通りです!
ありがとうございました!

>>913
勉強になりました!
918デフォルトの名無しさん:2013/04/17(水) 20:31:53.57
等高線グラフを表示させたいのですが、
手段が見つかりません。

3D点(x,y,z)の点(データ)×数万個を線で結びつけて、色付けしたものです。

チャートコントロール(mschar)では等高線をサポートしておらず、実現できません。
System::Windows::Forms::DataVisualization::Charting::Chart

どなたかご教授くださいませ!

[環境]
visual c++ 2008 express
vs2012へ更新検討中
919片山博文MZパンク ◆0lBZNi.Q7evd :2013/04/17(水) 21:00:16.72
>>918
自分で描画したいなら、遠近法で(x/(z+α),y/(z+α))みたいにして奥の方から描画。OpenGLの方が簡単で無難。
920片山博文MZパンク ◆0lBZNi.Q7evd :2013/04/17(水) 21:25:28.09
ピクチャコントロールのウィンドウハンドルを取得。
自前で描画する場合はウィンドウのDCを取得。
OpenGLで描画する場合はウィンドウにピクセルフォーマットを設定。
921デフォルトの名無しさん:2013/04/17(水) 23:17:56.11
>>919
>>920
書き込みありがとうございます。
遠近法、自前で描写、…難しそうです

変数->ADD(xの値,yの値,zの値);
変数->全ての点を線で結ぶ;
変数->zの値を元に色付けする;

っていうレベルで考えてます
OpenGLとかDirectXなら可能でしょうか?
922デフォルトの名無しさん:2013/04/17(水) 23:21:27.31
>>919
>>920
追加で…

ググってみたところ、Microsoft.Office.Tools.Excel.Char でグラフを作成できるのかな、
と思いました。(Excelだと等高線グラフを簡単に作成できるため)

Microsoft.Office.Tools.Excel.Charは何をするためにあるものでしょうか?
望みのことができますか?
できるなら、どのように導入(参照設定やら名前空間やらツールボックスやら)できますか?
923デフォルトの名無しさん:2013/04/17(水) 23:24:46.61
マルチ
924デフォルトの名無しさん:2013/04/17(水) 23:42:53.85
>>918
Mathematica使う
925片山博文MZパンク ◆0lBZNi.Q7evd :2013/04/18(木) 00:03:54.18
ヒント:OLE
926片山博文MZパンク ◆0lBZNi.Q7evd :2013/04/18(木) 00:24:38.33
本当にVC++でやりたいの?

初心者ならEXCELのVBAでやるのが一番楽
927デフォルトの名無しさん:2013/05/12(日) 02:37:22.35
一番楽 キリッ

言い切るならコードを示してみろよ
928デフォルトの名無しさん:2013/05/17(金) 23:02:29.59
929デフォルトの名無しさん:2013/05/18(土) 11:06:55.10
ここは初心者にURLの貼り方を教えるスレではない
930デフォルトの名無しさん:2013/05/20(月) 20:49:35.79
windows上で,読み書きの両方ができる_popen()の拡張を作るにはどうしたらいいだろうか。
_popen()で開いた子プロセスに対して,コマンドを投げて,その結果をもらって,また次のコマンドを投げて・・・
ということをやりたい。

条件として,子プロセスに対して,改変を加えるのはなしの方向で。

Linux上ではできるみたいだが,Windows上ではできるのだろうか。
どなたか教えてください。
[環境]
Visual C++ 2010
Windows 7/8
931デフォルトの名無しさん:2013/05/20(月) 21:12:17.37
DialogBoxを、リソースファイルなしで、プログラムから動的にデザイン(サイズ、コントロールの追加など)することは
可能でしょうか?
その場合、参考となるAPIを1つでいいので教えてください。
(それをもとに検索して他にも色々調べます)
932デフォルトの名無しさん:2013/05/20(月) 21:17:12.10
「動的ダイアログ作成 vc」で検索
933931:2013/05/20(月) 21:32:37.16
>>932
ありがとうございました。
934片山博文MZパンク ◆0lBZNi.Q7evd :2013/05/20(月) 23:48:16.04
>>930
CreateProcessとパイプ
935930:2013/05/24(金) 08:41:11.60
>>934

大変遅くなりましたが,ありがとうございます。
キーワードを元にがんばってみます。
936デフォルトの名無しさん:2013/05/24(金) 09:53:35.87
VC2008で AfxMessageBox()でコンパイル出来ない
937デフォルトの名無しさん:2013/05/24(金) 12:30:27.48
Express ってオチか?
938936:2013/05/24(金) 15:02:37.67
あれ 出来そうな感じね。
久々にVCいじってみたら綺麗に忘れてる。
なんか勘違いしてるのかも。
939デフォルトの名無しさん:2013/05/24(金) 17:08:04.50
AfxMessageBoxはMFCの関数。プロジェクトはMFCサポートしてるか?
940936:2013/05/24(金) 22:10:48.74
>>939
あう チェックしてるみます。 でもそれっぽい ハジー
941デフォルトの名無しさん:2013/05/26(日) 04:59:13.13
2010のExpressについて質問です

1,
TODOコメントを入れる時に日付とか名前を自動で入れられるようにできないですか?
要するにTODOコメントのテンプレを作りたいってことです

2,
switchとかclass(アクセス指定子)とかのインデントを個別に設定出来ませんか?
942デフォルトの名無しさん:2013/05/28(火) 23:26:59.24
Visual C++ 2010 Express - CRLを使用して、部活動分類ツールを作っているのですが
うまくいきません。
苗字とクラスをコンボボックスから選んで、該当する組み合わせがあれば
コピー専用のテキストボックスに所属している部活動名が表示されるプログラムです。
if文を使って処理をしようと思っているのですが、項目の編集で登録した
苗字、クラス名の要素をどうやって取得していいのかわかりません。
どうすれば、AddRange(gcnew cli:: array< System::Object^ >(数値) {}); から要素を取得し、
仕様通りに動くプログラムを作ることができるのでしょうか?

作りかけのプロジェクトを置いておきます。
http://kie.nu/11at
943デフォルトの名無しさん:2013/05/29(水) 01:01:47.38
コード見たけど。
そもそもどうやって、名字とクラスと部活を結びつけようとしてんの? どこにもなさそうなんだが。

簡単な方法としては、上の3つを要素として持つクラスを作成して、その配列に生徒?を登録。
条件を入力されたら、上の配列の名字とクラス名とで照らし合わせて一致してれば
その同じ要素にある部活名を表示でいいんじゃね。

検索の方法は、for ループで配列をまわして if でチェックでもいいし、LINQ が使えるならそれ使ってもいいし。



あと、ここで言うのもなんだが。その内容なら C# でやった方が。。。
944デフォルトの名無しさん:2013/05/29(水) 21:16:22.37
C++を始めて間もないのですが教えてください。

_tmainのコンソールアプリのプロジェクトでMFCのクラスを使いたいのですが、

この場合はどのようにするのでしょうか?MFCのアプリだと派生クラスで定義しているのは

参考にしているプロジェクトで分かるのですが、コンソールアプリだとどうしたらよいのでしょうか
945デフォルトの名無しさん:2013/05/29(水) 21:18:34.59
プロジェクト作るときにMFCにチェック
946デフォルトの名無しさん:2013/05/29(水) 21:36:39.30
>>945
すみません説明不足でした。

参考にしているMFCアプリのソースがありまして、それは派生クラスを使って、外部のクラスを呼び出しているところまでは分かりました。

コンソールアプリでMFCのチェックを入れれば、とりあえず、同じ外部のクラスを読み込ませることはできたのですが、

読み込ませただけで、どのようにしたら使えるようになるのかがわかりません。

_tmainの場合とMFCの派生させて使う場合の使いわけが、混乱しています。
947デフォルトの名無しさん:2013/05/29(水) 21:45:41.87
MFCを利用してるサードパーティ製のクラスの利用方法が聞きたいってことか。
それはエスパーじゃないと答えれないな
948デフォルトの名無しさん:2013/05/30(木) 08:33:58.88
AfxWinInit関係を調べます。
949デフォルトの名無しさん:2013/06/08(土) 21:21:20.98
VC++ 2008 の win32 console(マルチバイト文字セットを使用する)
にて下記のようにエラーが出力されます。
----
0xC0000005: 場所 0xcdcdcdc9 を読み込み中にアクセス違反が発生しました。
0xC0000005: 場所 0xcdcdcdc9 を読み込み中にアクセス違反が発生しました。
プログラム '[15796] test.exe: ネイティブ' はコード -1073741819 (0xc0000005) で終了しました。
----
▽▽▽ ソース
#include <stdio.h>
#include <atlstr.h>

int main(int argc, char* argv[])
{
  CString *pstr;

  pstr = (CString *)malloc(sizeof(CString) * 2);

  pstr[0].Format("test0");
  pstr[1].Format("test1");

  printf("%s\n", (char *)(LPCTSTR)pstr[0]);
  printf("%s\n", (char *)(LPCTSTR)pstr[1]);

  free(pstr);

  return 0;
}
△△△
CString型配列を動的に確保する方法がありましたら、
ご教示お願いします。
950デフォルトの名無しさん:2013/06/08(土) 22:33:19.81
× pstr = (CString *)malloc(sizeof(CString) * 2);
○ pstr = new CString[2];

× pstr[0].Format("test0");
○ pstr[0].Format(_T("test0"));

×printf("%s\n", (char *)(LPCTSTR)pstr[0]);
○printf("%s\n", (CStringA)pstr[0]);

× free(pstr);
○ delete[] pstr;
951デフォルトの名無しさん:2013/06/09(日) 02:05:10.00
>>950
丁寧に教えていただきありがとうございます
952デフォルトの名無しさん:2013/06/09(日) 02:59:48.98
01: #include <stdio.h>
02: #include <atlstr.h>
03: #include <vector>
04: 
05: int main(int argc, char* argv[])
06: {
07:   std::vector<CStringA> vstr;
08:   int bk_cnt, cnt = 0;
09: 
10:   bk_cnt = cnt;
11:   vstr.resize(cnt + 1);
12:   if( bk_cnt == vstr.size() ) return 0; // メモリ再割り当て失敗の場合は終了する
13: printf("bk_cnt=[%d] size=[%d]\n", bk_cnt, vstr.size());
14:   vstr[ cnt++ ].Format("あああ");
15: printf("vstr[%d]=[%s]\n", bk_cnt, vstr[bk_cnt]);
16: 
17:   bk_cnt = cnt;
18:   vstr.resize(cnt + 1);
19:   if( bk_cnt == vstr.size() ) return 0; // メモリ再割り当て失敗の場合は終了する
20: printf("bk_cnt=[%d] size=[%d]\n", bk_cnt, vstr.size());
21:   vstr[ cnt++ ].Format("いいい");
22: printf("vstr[%d]=[%s]\n", bk_cnt, vstr[bk_cnt]);
23: 
24:   return 0;
25: }
26: ----【実行結果】----
27: bk_cnt=[0] size=[1]
28: vstr[0]=[あああ]
29: bk_cnt=[1] size=[2]
30: vstr[1]=[いいい]
953デフォルトの名無しさん:2013/06/09(日) 03:02:33.22
見にくいソースで申し訳ないのですが、
>>952について教えて欲しいです。
VC++ 2008 の win32 console(マルチバイト文字セットを使用する)環境で実行しました。

std::vector を使い CStringA型の配列のメモリを動的に再割り当てするプログラムです。
vector::resize の成功か失敗かを知りたいのですが、この関数はvoid型なので、
戻り値がありません。

10行目、12行目にて、メモリの再割り当てが成功か失敗か判断しているつもりですが、
「成功(要素数が増加している)、失敗(要素数に変化なし)」という判断方法で、
合っていますでしょうか。

ご存じの方がいらっしゃれば、よろしくお願いします。
954デフォルトの名無しさん:2013/06/09(日) 03:07:29.31
例外知らないとかお前なにを勉強してたんだ
955デフォルトの名無しさん:2013/06/09(日) 03:18:48.52
>>954
すみません。あまり慣れていない手段(例外)は使いたくなかったので避けていました
>>952では失敗を検知するのは例外(try , throw , catch)を使う方法しかないのでしょうか
956デフォルトの名無しさん:2013/06/09(日) 03:24:07.71
ない
957デフォルトの名無しさん:2013/06/09(日) 07:43:53.94
>>956
ありがとうございます
了解しました
958デフォルトの名無しさん:2013/08/06(火) 00:20:27.85
教えてください
959片山博文MZパンク ◆0lBZNi.Q7evd :2013/08/06(火) 00:34:10.55
>>958
インストールハ、オワッタカ?
960デフォルトの名無しさん:2013/08/06(火) 00:50:20.67
お断りします
961デフォルトの名無しさん:2013/08/07(水) 00:38:57.77
ひどいわ
962デフォルトの名無しさん:2013/08/08(木) 04:33:10.39
Visual c++でCを使う方法を教えて下さい。基本情報受けたいです。
963デフォルトの名無しさん:2013/08/08(木) 08:29:49.60
ファイル拡張子をCにしたら?
964デフォルトの名無しさん:2013/08/08(木) 08:46:24.86
ありがとうございます、普通にフォルダで見るとCのファイルに変わってるんですが、VisualC++ を開いた時、左側のソリューションのところでは画像がC++のファイルのままです。これは変わってるんですか?
965デフォルトの名無しさん:2013/08/08(木) 08:48:15.00
よく分からんが変わってるんじゃない?
CもC++も同じだから気にするな
966デフォルトの名無しさん:2013/08/08(木) 11:25:18.90
967デフォルトの名無しさん:2013/08/08(木) 20:01:00.14
ファイルの拡張子を表示する設定にしてないとか
968デフォルトの名無しさん:2013/08/08(木) 22:14:37.79
>基本情報受けたい

って意味がよく分からん
969デフォルトの名無しさん:2013/08/08(木) 22:17:32.82
試験勉強に使いたいって意味だろ気にすんな
970デフォルトの名無しさん:2013/08/09(金) 02:07:59.95
VC使ってのに未だにfreadとか平気使う
私もいますよ。
971デフォルトの名無しさん:2013/08/09(金) 06:56:10.87
つうか何でもぶちんで動けばいいやって考えはやばいですか
972デフォルトの名無しさん:2013/08/09(金) 08:44:32.96
仕事じゃなきゃそれがいいよ
書かない、動かないのほうがやばい
973デフォルトの名無しさん:2013/08/10(土) 02:39:35.25
Cのアパコンパチなんでコンパイル、リンクが出来て
テストパスすればいんでしょうけど、
やぱC++のfstreamとかiosとかでやりたいってのはあるよねぇ。
974デフォルトの名無しさん:2013/08/11(日) 21:03:08.50
2ヶ月空いてるのに食いつき方きめえな
特におまえは>>959シコシココード書いてろ
975デフォルトの名無しさん:2013/08/11(日) 23:07:28.68
こいつこそ、5 日も空けてから入れるツッコミじゃないと思うが。
976デフォルトの名無しさん:2013/08/12(月) 00:16:32.62
誰が誰だか
977デフォルトの名無しさん:2013/08/12(月) 09:33:36.84
まあまあ
978デフォルトの名無しさん:2013/08/28(水) 09:43:27.31
野良関数はどこのファイルに書いていいのですか?
mainだけ?
ほかのクラスの.cppに適当に放り込んでもいいのですか?
979デフォルトの名無しさん:2013/08/28(水) 11:34:31.58
どこでもいいけど
後で困らないように分けといたら?
980デフォルトの名無しさん:2013/08/28(水) 12:07:23.13
ありがとうございます
コードは書いてあっても
ファイル分けまで説明してない本が多くて
基礎を読んだ後いざ作ろうとするとよくわからなくなってしまいました

>ほかのクラスの.cppに適当に放り込んでもいいのですか?
これはクラスのメンバ関数とは別にそのまま呼び出せるのでしょうか
981デフォルトの名無しさん:2013/08/28(水) 12:09:42.17
そのまま呼び出せなきゃ困るだろ
982デフォルトの名無しさん:2013/08/28(水) 12:16:52.56
はい
わかりました
983デフォルトの名無しさん:2013/08/28(水) 12:30:53.83
そこからか。
プロトタイプ宣言をヘッダにまとめて、使いたいとこでinclude
そのファイルでしか使わないなら、上の方にプロトタイプ宣言書けばいい。
関数定義を上に持っていく、というものぐさはあとで困るかもw
984デフォルトの名無しさん:2013/08/28(水) 12:53:58.79
俺は野良関数でも野放しにしないで、野良関数用のclass作っておくな
985デフォルトの名無しさん:2013/08/28(水) 13:36:40.11
ためしにでたらめなものでやってみましたが
そのプロトタイプ宣言は
ヘッダにも書けるし
mainにも書けるのですね
せっかく別ファイルに書いたのにmainに書いていては意味無いですが
986デフォルトの名無しさん