【初心者歓迎】C/C++室 Ver.55【環境依存OK】

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2008/07/05(土) 14:16:11
そりゃまったく同じ名前、引数の関数が2ヵ所以上にあったらぶつかるだろ
953デフォルトの名無しさん:2008/07/05(土) 17:20:52
typedef enumで定義されている
値はC++で使う場合、クラスにラップした方がいいぉか?
954デフォルトの名無しさん:2008/07/05(土) 17:32:45
クラスでもnamespaceでもお好きに。
955デフォルトの名無しさん:2008/07/05(土) 17:50:57
まー、規約次第だろう
統一はしろ
956デフォルトの名無しさん:2008/07/05(土) 17:54:55
>>954
namespaceでの定義方法がよくわからないぉ?
957デフォルトの名無しさん:2008/07/05(土) 17:59:59
namespace foo {
 enum bar { hoge, piyo, puni };
}

foo::bar x = foo::hoge;
958デフォルトの名無しさん:2008/07/05(土) 18:01:26
クラスラップした後の話だろうw
namespaceは
959デフォルトの名無しさん:2008/07/05(土) 18:15:29
新しいクラスを作って中に関数を作ってそれを元のクラスから呼び出したいのですが、

クラス名::関数名();

静的でないメンバ関数の呼び出しが正しくありません というエラーが出て呼び出せません

960デフォルトの名無しさん:2008/07/05(土) 18:17:03
静的じゃないなら、そのクラスのインスタンスを生成しなきゃ呼べないだろ
961デフォルトの名無しさん:2008/07/05(土) 18:19:15
静的で使うのならstaticつけれ
962デフォルトの名無しさん:2008/07/05(土) 18:26:20
クラス名 std;
std.関数名();

インスタンスの生成ってこうですか?
エラーなくなりましたありがとうございます!
963デフォルトの名無しさん:2008/07/05(土) 18:26:31
VC++2008でプログラムを作り、デバッグボタンを押すと一瞬だけ何か黒い物が表示されてそれ以外は何も動きません
実行結果が見えるようにしたいのですがソースコードのどこに何を書けばいいのでしょうか?
964デフォルトの名無しさん:2008/07/05(土) 18:28:29
>>962 何かいろいろと勘違いしているかもしれんが・・・うまくいったならいいかw
965デフォルトの名無しさん:2008/07/05(土) 18:29:24
静的関数というものを理解してなさそうで怖いな
966デフォルトの名無しさん:2008/07/05(土) 18:30:50
デバッグありで実行せずデバッグなしで実行する
適当に入力待ち状態にしてそこで止める等々
967デフォルトの名無しさん:2008/07/05(土) 18:45:00
>>963
CTRL+F5
968デフォルトの名無しさん:2008/07/05(土) 18:45:52
>>963
mainのreturnにブレークポイント設定するとかCtrl+F5で実行するとか
969デフォルトの名無しさん:2008/07/05(土) 18:47:33
getchar()でも駄目だった


>>966,>>967
で行ったら確かに止まった、ありがたい
でもなんだか釈然としない
970デフォルトの名無しさん:2008/07/05(土) 18:51:13
getchar()で駄目な理由として
上でscanf()等を使って文字列入力をしてる場合等がある
971デフォルトの名無しさん:2008/07/05(土) 18:52:49
_kbhit
972デフォルトの名無しさん:2008/07/05(土) 18:56:14
// C801.cpp : メイン プロジェクト ファイルです。

#include "stdafx.h"

using namespace System;

int main()
{
Console::Title="一番簡単な数の表示";

int a=123,b=456;

Console::WriteLine("A="+a+" B="+b);
Console::WriteLine("A+B="+(a+b));
Console::WriteLine("A-B="+(a-b));
Console::WriteLine("A*B="+a*b);
Console::WriteLine("A/B="+(double)a/b);
return 0;
}
//入力したコード
973デフォルトの名無しさん:2008/07/05(土) 18:57:52
>>969
こういうことだから理解してくれ

ブレークポインタ使うならF5
ブレークポインタ使わないならCtrl+F5
974デフォルトの名無しさん:2008/07/05(土) 19:07:34
>ブレークポインタ
975デフォルトの名無しさん:2008/07/05(土) 20:06:51
gccかC99で関数のルートアドレス?だか返す
マクロあったけど名前思い出せない

たじけて
976デフォルトの名無しさん:2008/07/05(土) 20:52:06
聞くは一時の恥、知らぬは一生の恥というので聞かせてもらう・・・・

ルートアドレスって何?
977デフォルトの名無しさん:2008/07/05(土) 20:53:27
関数の呼び出し元の関数のアドレスのことじゃね?
978デフォルトの名無しさん:2008/07/05(土) 20:54:55
聞くは一時の恥、聞かれるは一生の不覚
979デフォルトの名無しさん:2008/07/05(土) 20:57:59
なんか違う
980デフォルトの名無しさん:2008/07/05(土) 22:01:56
std::cout等を使うクラスを定義する場合は
宣言上部でusing namespace std;するのが流儀?
981デフォルトの名無しさん:2008/07/05(土) 22:03:37
毎回 std:: を付ける流儀
982デフォルトの名無しさん:2008/07/05(土) 22:03:56
>>980
自分だけでやってるならアリかもしれないが
複数人で何かを作るのならやめておいたほうがいい
983デフォルトの名無しさん:2008/07/05(土) 22:06:19
ヘッダのグローバルスコープでusingしなければなんでもいいよ。
984デフォルトの名無しさん:2008/07/05(土) 22:13:26
関数内でusing

void f(){
  using namespace std;
  ...
}
985デフォルトの名無しさん:2008/07/05(土) 23:40:46
基本クラスCObjectで作った新しいクラスの中で元のダイアログウィンドウを塗りつぶしたいんですが
どうやって指定すればいいんですか?

CWnd* myPICT=GetDlgItem( IDD_RS232C_TEST_DIALOG );
CClientDC myDC( myPICT );

CRect myRECT;
myPICT->GetClientRect( myRECT );

CPen penBlack( PS_SOLID, 1, RGB(0,0,0) );
CPen* oldPEN=myDC.SelectObject( &penBlack );

CBrush myBrush;
CBrush* oldBrush;

myBrush.CreateSolidBrush( RGB(128,128,128) );
oldBrush=myDC.SelectObject( &penBlack );

dc.Rectangle( myRECT );
myDC.SelectObject( oldPEN );
myDC.SelectObject( oldBrush );
986デフォルトの名無しさん:2008/07/06(日) 00:39:20
その質問で困っていることを分かってもらおうとするのは無茶だろw
987デフォルトの名無しさん:2008/07/06(日) 01:37:07
すいません、'GetDlgItem' : 関数に 1 個の引数を指定できません。
というエラーです。

988デフォルトの名無しさん:2008/07/06(日) 01:40:25
誰か次スレお願い。
俺無理だった。
989デフォルトの名無しさん:2008/07/06(日) 01:49:22
>>987
IDD_ってダイアログリソースのIDだろ?
DialogBox()かCreateDialog()でしか使えないよ。

GetDlgItem()は対象のウィンドウ内の
子ウィンドウ(ボタンやテキストボックス)のハンドルを取得するためのもの。

CWndを継承してないのなら、
第一引数にウィンドウハンドルを渡す必要がある ::GetDlgItem(HWND, int)
を呼ぶことになる。

今のソースでは根本的に無理だと思うので、
入門書やネットでダイアログの基本的な使い方を見た方がいい。
990デフォルトの名無しさん:2008/07/06(日) 02:02:38
なるほど、がんばってみます。どうもです。
組込Cと比べてC++は地獄ですね
991デフォルトの名無しさん:2008/07/06(日) 02:15:26
C++というかVC++じゃ
992デフォルトの名無しさん:2008/07/06(日) 02:15:50
いや、VC++というよりMFCだなw
993デフォルトの名無しさん:2008/07/06(日) 02:15:53
言語とOSとシステムコールの違いも勉強しなきゃだね。
994デフォルトの名無しさん:2008/07/06(日) 02:16:26
あ、CWndの話が出てるのは後側だけか
995デフォルトの名無しさん:2008/07/06(日) 02:18:43
次スレ〜
996デフォルトの名無しさん:2008/07/06(日) 02:23:23
俺が立ててこよう
997デフォルトの名無しさん:2008/07/06(日) 02:25:29
【初心者歓迎】C/C++室 Ver.56【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1215278693/

ありがたく使え。
998デフォルトの名無しさん:2008/07/06(日) 02:31:59
>>997
999デフォルトの名無しさん:2008/07/06(日) 02:32:20
>>997
調子に乗るな



























でも乙
1000デフォルトの名無しさん:2008/07/06(日) 02:33:19
1000ならC/C++消滅
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。