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


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

スレを勃てるまでもないC/C++の質問はここで 3



1 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 20:07:56 ]
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

過去ログ
スレを勃てるまでもないC/C++の質問はここで
pc11.2ch.net/test/read.cgi/tech/1167476845/
スレを勃てるまでもないC/C++の質問はここで 2
pc11.2ch.net/test/read.cgi/tech/1178503366/

730 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:17:22 ]
>>728
ネストが3ということだが、一番はじめに提示したソースはネストは1じゃないか?
普通かどうかしらんが、俺の感覚でネストが深くなるといわれると
if ( XXX ) {
if ( YYY ) {
if ( ZZZ ) {
}
}
}
ということだと思うんだが?

731 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:20:14 ]
一応、回避策(?)も提示してみる。
int Check( void ) {
if ( 条件1 ) return 1;
if ( 条件2 ) return 2;
if ( 条件3 ) return 3;
if ( 条件4 ) return 4;
if ( 条件5 ) return 5;
return -1;
}
/**/
switch( Check( ) ) {
case 1://以下略
}

732 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:22:28 ]
else if{〜}はelse{if{〜}}のことなので、最初のソースのネストは5なんです
正直納得いかないんですが、コードチェッカがそう言って怒るので仕方ありません

733 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:28:20 ]
>>731
結局条件を数値に直してswitchしかないんですかね
elseは必ず書くことになってるので正直あまり変わらない気がします。ごめんなさい

734 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:33:01 ]
そのコードチェッカーは必ず、例外なく、何があっても、守らなければいけないもの?
可読性や汎用性やテスト容易性まで犠牲にしてまで守る利点はあるの?
っていっても、守らなきゃならない状況ってのはあるんだろうけど・・・
関数分割をなるたけして、厳しい部分はswitchに落とすしかないかな?

735 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:40:00 ]
>>733
elseはcase -1:でよくね?-1じゃなくてもなんでもいいけど。
条件の内容次第ではうまくいく場合もあるよ。
例えば、文字列比較によって関数呼び出しを行うなら・・・
typedef sturct {
const char * str;
void ( * func )( void );
} T_HOGE;
const T_HOGE Hoge[ 3 ] = {
{ "right", Func1 },
{ "center", Func2 },
{ "left", Func3 },
};
for ( cnt = 0; cnt < 3; cnt++ ) {
if ( strcmp( Hoge[ cnt ].str, input ) == 0 ) {
Hoge[ cnt ].func( );
}
}
条件が複雑になれば厳しくなるけど・・・

736 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:41:57 ]
bool notYet = true;
if (notYet && condition1) {process1; notYet = false;}
if (notYet && condition2) {process2; notYet = false;}
if (notYet && condition3) {process3; notYet = false;}
...

737 名前:1/2 mailto:sage [2007/11/14(水) 05:31:15 ]
#include <utility>
#include <vector>
#include <iostream>
#include <functional>

struct func_holder : public std::unary_function<void,void> {
  typedef result_type (*func_type)(argument_type);
  func_holder( func_type f ) : m_func(f) {};
  result_type operator()(argument_type) const { return (*m_func)(); }
private: func_type m_func;
};
struct pred_holder : public std::unary_function<int, bool> {
  typedef result_type (*func_type)(argument_type);
  pred_holder( func_type f ) : m_func(f) {};
  result_type operator()(argument_type a) const { return (*m_func)(a); }
private: func_type m_func;
};
template< class Pred, class Func >
struct dispatcher
 : public std::unary_function<typename Pred::argument_type, void> {
  typedef std::pair<Pred, Func> pair;
  typedef std::vector<pair> vector;

  void add(pair const& p) { v.push_back(p); }
  void operator()(argument_type a) {
    for (vector::iterator i = v.begin(); i < v.end(); ++i) {
      if ( i->first(a) ) { i->second();break; }
    }
  }
private: vector v;
};

738 名前:2/2 mailto:sage [2007/11/14(水) 05:34:32 ]
void out1() {
  std::cout << "out1!\n";
}
void out2() {
  std::cout << "out2!\n";
}
bool pred1(int i) {
  return i > 0;
}
bool pred2(int i) {
  return i == 0;
}
int main() {
  dispatcher<pred_holder, func_holder> dis;
  dis.add( std::make_pair(&pred1, &out1) );
  dis.add( std::make_pair(&pred2, &out2) );
  dis(0);
}

.*_holderで指定する関数の方を変えてやったり、predのargumentとして状態を保持した構造体を渡すようにすれば
もっと複雑な条件でも使えるかもしれない
boostを使えば使い勝手が良くて読みやすいのが作れる?



739 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:11:34 ]
>>734
必ず守らなければならないとしたときの利点:
  お前のように、ごちゃごちゃ文句言う奴に対応する時間を取らなくて済む

740 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:18:34 ]
>>739
必ず守らなければならないとしないときの利点:
  お前のように、ごちゃごちゃ文句言う奴に対応する時間を取らなくて済む

741 名前:738 mailto:sage [2007/11/14(水) 17:59:11 ]
よく考えるまでもなく激しく車輪の再発明してる気になるなぁ(それ以前にC++)
これと同じようなものが「boostにあるよ」とか「lokiにあるよ」とか「俺が作ったよ」とかあれば
是非情報をおながいします

あとこういうのって、デザパタ用語で責任の連鎖パターンっていうんですか?

742 名前:デフォルトの名無しさん [2007/11/14(水) 21:50:49 ]
コンソール上で動かすプログラムを作っています。
画面消去の方法で『ESC [2J』と解説されてるサイトが多いのですが、
XPではエスケープ・シーケンスが使えないようなのです。
他に画面消去に使えるような命令はないでしょうか?
コンソール画面上をスペースで塗り潰す以外の方法は無いのでしょうか。

743 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:51:38 ]
プログラムを書くというのは、特殊化だと思う。
だから、汎用に書くのは間違い。

可読性を損なわないようにベタっと書くべき。

744 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:55:55 ]
DRY原則は守ってね

745 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:09:17 ]
>>742
Win32APIスレで質問すべし。

746 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:13:36 ]
APIじゃなくてもclsでよくね?

747 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:18:55 ]
そこでPDCursesですよ
単にコンソールIOのシステムコールをCursesのインターフェースでラップしただけだけど
そのまま使うよりは使いやすいような使いにくいような

748 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:25:05 ]
血圧が高くて疲労感が取れません。



749 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 03:23:46 ]
A.cpp
CSample *Sample = 〜〜〜


B.cpp
Sample->Loop();

という風にしたいんですが
どうにかしてB.cppでSampleオブジェクトを使う方法はありませんか

750 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 04:30:17 ]
>>749
グローバル変数


751 名前:デフォルトの名無しさん [2007/11/15(木) 04:45:48 ]
windowsでC言語の開発環境を整えようと思いbcpadをダウンロードしようとしたのですが、
ベクターでダウンロードできなくなっており、自身で探してみたのですが、ダウンロードできるサイトが見つかりません。
ご存知の方がいらっしゃいましたら教えてください。

752 名前:デフォルトの名無しさん [2007/11/15(木) 10:28:55 ]
>>751
シェアウェアにするとかなんとか書いてるから
フリーのVC++2005expとSDKでやれば?
ANSIIの関数で複数の関数が
警告で「安全性がなんたらかんたら・・・」って警告
でるけど、別に関数の使い方間違ってなかったら
問題無いし、C言語の開発環境としては
VC++2005で十分気軽に使えるでしょ

753 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:04:22 ]
配列の要素数をsizeof演算子で得ることができるということは理解できるのですが
配列のポインタから、そのポインタが指す配列の要素数を得ることはできるのでしょうか?

754 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:22:21 ]
>>753
できない。

755 名前:753 mailto:sage [2007/11/16(金) 02:27:16 ]
ありがとうござました

756 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:26:34 ]
WikibookのMore C++ Idiomsって更新されてるの?
10項目ぐらい聞いたことも無い名称が出ててとても気になるんだけど・・・

757 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 19:29:58 ]
更新履歴みればいいじゃない

758 名前:デフォルトの名無しさん [2007/11/17(土) 19:50:02 ]
コンストラクタなんですが

クラス名::クラス名() : クラス変数名(値){
// 以下コード
}

みたいな宣言をされているのですが、「:」以降の文法の意味が分からないのですが・・・。
クラス変数の型は、インクルードしている他のクラスです。



759 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:52:17 ]
初期化してるだけ
class A{
 int a;
 A();
};
A::A(): a(1) {
}
の場合、Aのメンバ変数aは1で初期化される

760 名前:デフォルトの名無しさん [2007/11/17(土) 20:02:35 ]
なるほどです。
手持ちの本では載っていなかったので。
ありがとうございます。


761 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:07:18 ]
その本が入門書であるなら窓から投げ捨てたほうがいい。

762 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 03:02:02 ]
未だにこんなコード載せてる本がたまにあるから困る
間違いだからなこれ
A::A(){
 a=1;
}

763 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 07:34:46 ]
int a=1 ;
ってのも間違いで、
int a(1) ;
にしろってか?

764 名前:デフォルトの名無しさん [2007/11/18(日) 07:40:24 ]
どこが?

765 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 07:54:07 ]
>>762
間違いってほどでもないな。効率が悪いってだけで。

効率の悪さよりも保守性のために、
あえて初期化リストを使わないという選択もあるよ。

多数のコンストラクタがある場合、
同じ初期化リストをコピペすることになる。

コンストラクタ内で代入するのであれば、
共通した代入をprivateなメンバ関数にできる。

766 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 08:00:24 ]
>>765
それはクラス設計が悪い

同じように初期化するメンバで1つクラスにして、それを継承すべし

767 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 08:53:40 ]
>>763
その2つは同値な表記
A::A():a(1){}とA::A(){a=1}は意味が違う
まあint型くらいなら大して変わらんけどさ

768 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 10:02:10 ]
>>766
アンチパターン



769 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:01:06 ]
>>766
継承はやりすぎ
包含で十分

770 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:02:24 ]
>>767
意味が違うのなら、どちらが正しいかなんて言えないよな

771 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:04:58 ]
クラスだとコンストラクタとコピー代入演算子が違う意味を持っているから初期化子に馴れておいた方がいい。
さらにstatic/constが絡んでくると初期化子の方が合理的だと思えるようになるよ。

772 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:14:04 ]
説明がド下手

773 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:52:42 ]
C++での質問です

EA001 80
EA002 60
EA003 100
EA004 0
EA005 50

みたいな感じに学籍番号と整数値が与えられているテキストファイルを読み込んで、
整数値をソートして行ごとに並べ替えるプログラムを作りたいのですが
どのようにテキストファイルを読み込めばいいのか教えてください。

774 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:56:49 ]
#include <fstream>

std::fstream f("ファイルのパス.txtxtxtxt", std::ios::in | std::ios::binary);

void *buff new char[適当な数];

f.read((char*)buff, 読み込むサイズ);

775 名前:デフォルトの名無しさん [2007/11/18(日) 11:59:31 ]
>>774
バイナリで読み込む必要ない
あとソートはSTLのmapとかsetだと読み込めばソート完了する

776 名前:デフォルトの名無しさん [2007/11/18(日) 15:32:20 ]
Visual C++ 2005 Express Edition で、PCのイベントログをとってくるには
どうしたらいいんですか?

777 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 15:59:26 ]
>>776
Win32API質問スレへどうぞ。

778 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:01:51 ]
>>776
Win32APIのReadEventLogを使う。

WMIあたりにもっと便利なのがあると思うが、
その質問の仕方を見ていると使いこなせるか疑問。



779 名前:デフォルトの名無しさん [2007/11/18(日) 19:28:29 ]
>>777-778
すみません。ありがとうございます。
おっしゃる通り、C言語すら知らないド素人です。
Win32APIとやら・・・Cの基礎を知ってないと駄目なほどのものを使わないと
できませんか・・・Windowsのイベントログだから考えてみればそうですよね・・
ありがとうございました。

780 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 22:11:53 ]
Cの基礎を知らないでVisual C++でまともなプログラムを作るのはそもそも無理だろWin32APIがどうこういう前に

781 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 11:13:10 ]
>>779
とやらって…。Win32APIは別にCの基礎じゃない。

782 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 23:49:41 ]
>>781
日本語読めない人ですか?
779は Win32API = Cの基礎を知ってないと駄目なほどのもの って言ってるんであって
Win32API = Cの基礎 だなんて一言も言ってないだろ。

783 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 00:15:24 ]
そんな必死にならなくてもいいのに

784 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 00:17:31 ]
と言う事にしたいのですね:-)

785 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 01:44:13 ]
いいえ、事実です。

786 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 02:25:22 ]
1,2、たくさんとしか数えられないから、三行以上の書き込みが必死に見えるらしい。

787 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 12:34:12 ]
>>782
Win32APIがCの基礎を知ってないと駄目なほどのもの?
笑わせてくれるぜ。

788 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:19:02 ]
Win32APIがCの基礎を知ってないと駄目なほどのものって言ってるのは782じゃなくて779だろ。
782は781の読み違いを指摘してるだけ(煽ってるともいう)なのに、なんで782に絡むんだよw



789 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:23:47 ]
そんなことよりみんなで乱交パーティしようぜ

790 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:29:54 ]
そんなどうでもい話で盛り上がってんなよ

791 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:42:43 ]
新しいネタもないし別にいいんじゃね?
どうしても話題変えたかったらなんか質問でもしなよ

792 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 15:18:08 ]
C++で、stringに入力した文字列をint型に変換する方法が分かりません。
atoi()を使うとエラーが出てしまいます。

793 名前:デフォルトの名無しさん [2007/11/20(火) 15:19:08 ]
string s="123456";

cout << atoi(s.c_str());

794 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 15:29:00 ]
string s="123456";
int i;
istringstream(s) >> i;

795 名前:デフォルトの名無しさん [2007/11/20(火) 15:39:01 ]
代入演算子で、整数変数に浮動小数点をかけ算するとき、ワーニング出ないようにするにはどうすればいいの。
int value=10;
value *= 0.5;


796 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 15:45:22 ]
整数演算に直す。
value /= 2;

797 名前:デフォルトの名無しさん [2007/11/20(火) 16:15:33 ]
WindowsAPI使えば、スタンバイとか自分の好きな風にカスタマイズできますか?

PCのスタンバイ設定が気に入らないので。

798 名前:デフォルトの名無しさん [2007/11/20(火) 16:16:42 ]
レジストリだろう



799 名前:デフォルトの名無しさん [2007/11/21(水) 08:51:30 ]
double型・float型っていくらの整数まで厳密に保持できると保証されてるんでしょうか?
(桁が上がっていくと1の位を保持できなくなるわけですよね)
具体的にはunsigned intの最大値までそれぞれ保証しているのか知りたいのです。

800 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 09:29:21 ]
>>799
それぞれの仮数部のビット数を調べればいい。
結論から言えば、一般的にdoubleは53bit、floatは24bitとなる。
従って、一般的な4バイト整数と較べた場合、floatは精度が足りないと言うことになる。

801 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 12:50:50 ]
>>800
なるほど、納得です!
ありがとうございました。

802 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 22:31:20 ]
保障はされてなかった気がする

803 名前:デフォルトの名無しさん [2007/11/22(木) 01:15:33 ]
質問です。
今自分はCからFORTRANにする事をしていて、
wgtinit(w,s1,inival,flag) /*initialize random weight matrix*/

drawrest(xps+50,50,200,200,yellow)

line(xp,250,xp,yp,white,0,0)
といのがCのプログラムの中で出てきたのですが、これはどういう意味で、
これをFORTRANで表現するにはどうしたらいいのでしょうか?


804 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 01:24:43 ]
>>803
我々はエスパーじゃない。

805 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 01:27:41 ]
>>803
お前みたいなのを雇うなんて会社の程度が知れてるな

806 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 01:39:29 ]
>>803
>といのがCのプログラムの中で出てきたのですが、これはどういう意味で、
>これをFORTRANで表現するにはどうしたらいいのでしょうか?
それを調べるのがあんたの仕事だ。
調べずとも明らかなことだけなら猫にでもやらせればすむことだからな。

807 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 01:44:40 ]
すみません超初心者なんですが質問いいでしょうか

1、ネットで見つけたあるサンプルをVisual C++ 2005 Express Editionというソフトで開くと
「古いバージョンのソフトで作ってあるから新しいソフトに書き直す」
というような内容のメッセージがでたのでOK、開けました

2、ビルドして実行しようとすると
”ビルドエラーが発生しました。続行して、最後に成功したビルドを実行しますか?”
というメッセージが出たのでOK

3、”プログラム’・・・.exe’を開始できません。指定したファイルが見つかりません。’
というメッセージが出てきて実行できません。

これってVisualC++2005だとこのソースはビルドできなくて結局使えないってことですか?
ゲームを作ろうとしたのにいきなり詰まってて困ってます。

808 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 01:47:35 ]
>>807
2.の時点で間違っている。
ビルドエラーが発生してるのに実行しようとしているため。
ちゃんとビルドできるようにして来い。
わかんなかったらソースとエラー書いてくれ。
もしくは、そのサンプルがあるURLを書いてくれ。



809 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:02:47 ]
CUIでのゲームプログラムを作ろうと思ってるんですが、
保存したデータ内容の編集はCの標準ライブラリのみで出来るのでしょうか。
追記は出来ても一部分のみ書き換えや削除等の方法が分からなくて。

810 名前:809 mailto:sage [2007/11/22(木) 02:04:00 ]
説明不足でした。
ファイル処理の話です。

811 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:06:36 ]
C以外でやった方が楽だし早いんじゃね?

812 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:08:50 ]
>>809
ファイルの途中への挿入や削除は標準関数ではできない。
サイズが変わらないなら、方法はある。

813 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:09:58 ]
>>811
仰るとおりですが、まだ授業でCの勉強しかしてなくて。
javaも独学で勉強してるもののいまいちピンと来ないんですよ…。

814 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:12:26 ]
>>812
書き換えや削除するとサイズが変わってしまうのでは?

もし宜しければ参考のためにご教示願えますか。

815 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:12:50 ]
テキスト操作したいならPerlとかPHPでいいんでない?
CとかJavaよりよっぽど楽に扱えるし、新しく勉強するに
してももそれほど時間かからないと思うよ

816 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:18:22 ]
ファイルがそこまで大きくないなら起動時に一気にすべて読み込み、終了時に新規に出力しなおすとかじゃだめ?

817 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:18:59 ]
// >>814
// for Example.
#include <stdio.h>
int main()
{
FILE * fp = fopen("foo", "w");
fprintf(fp, "a\nb\nc\n");
fclose(fp);

fp = fopen("foo", "r+");
fscanf(fp, "%*s");
fprintf(fp, "B\n");
fclose(fp);
return 0;
}

818 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 02:29:42 ]
>>815
暇潰しにする程度なので、新たに勉強する気力がなくて…。
基本的に学校のPCでしてるので環境がないのもあるんですが。

>>816
その方法が一番確実そうですね。
内容はユーザ情報とスコアランキングくらいなので。

>>817
無知で申し訳ないんですが、%*sってどういう意味でしょうか。
*はワイルドカードって事ですか?
あと試しにコンパイル実行してみましたが特に変化が分からなかったです…。



819 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 05:37:26 ]
>>803
> wgtinit(w,s1,inival,flag) /*initialize random weight matrix*/

wgtinit関数に引数w, s1, inival, flagを渡して呼び出す、という意味。
セミコロンがあるはずだが、写し忘れか?
こういうのはキーボードでタイプし直したりせず、コピペしような。

> drawrest(xps+50,50,200,200,yellow)
> line(xp,250,xp,yp,white,0,0)

この2つも同様に、drawrestやlineという名前の関数を呼び出している。

820 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 05:38:12 ]
>>807
ダイアログに表示されたメッセージの内容を理解せずにYesやOkを押すような人は、
プログラムを書くのに向いてない。やめたほうがいい。

821 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 05:40:51 ]
>>818
気力がなかったら、暇潰しで頭を使うようなことをせず、酒でも飲んで寝てたらどうよ。

> 無知で申し訳ないんですが、%*sってどういう意味でしょうか。

読み飛ばす・・・だったような。
こういうのは覚えておくものではなく、都度scanfのリファレンスで確認刷るものだよ。

822 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 07:14:43 ]
>>818
知らないことは調べるだけの話。
それをする気がないのは「無知」ではなく「無気力」。
刻苦を厭う怠惰は人を虎に変えてしまうのだよ。

823 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 07:51:59 ]
怠惰には、
無気力な怠惰 = メンドクサイから、何もやらない
と、
前向きな怠惰 = メンドクサイことをしなくても良いように努力・工夫する
がある。


824 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 19:50:07 ]
本当に怠惰な人間ならこんな便所の落書きに長文書いていつ来るとも知れぬ無責任な名無しの回答を待つ前に
さっさとグーグル先生でも聞いて済ますと思う

825 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 21:19:04 ]
*は代入抑止文字ですか。
変数に格納されないって事ですね。

ご迷惑おかけしました。

826 名前:807 mailto:sage [2007/11/22(木) 21:43:11 ]
すみません。実行できました
VBではよくプログラムをしてるんですがCの勝手がわからなくって。
まだよく分からないのですが、
SDKとかDXライブラリとかの設定をしてなかったから見たいです
出力に
DxLib.exe': 'なんとかかんとか' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
等など沢山でているのは大丈夫でしょうか?

827 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 21:51:04 ]
>>826
「何が」大丈夫なのか否かを知りたいの?

828 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 22:38:53 ]
>>827
すみません
プログラムが変な動作をしたりしないのか、とか
バグじゃないのか、とか

プログラムに問題があるというメッセージなのか、それとも
これらのメッセージが出ているのは普通で問題はないのか
そういう意味です
なんだかVBと全然違うんですね



829 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 22:44:39 ]
>>828
> プログラムが変な動作をしたりしないのか

基本的には、しない

> バグじゃないのか

基本的には、バグではない

> プログラムに問題があるというメッセージなのか

基本的には、違う

> これらのメッセージが出ているのは普通で問題はないのか

基本的には、普通で問題ない

デバッグのための情報がないので、シンボルデバッグできないぞ、というメッセージ。

830 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 22:45:37 ]
自分が作ったクラスを入れるlistをsortするため、operator<を定義してるんですが詰まっています。

class Data{
  int x;
  int y;
public:
  Data(int a = 0, int b = 0){ x = a, y = b };
  int getx(){ return x; };
  bool operator<(const Data&);
};

bool Data::operator<(const Data& obj){
  return x < obj.getx();
}

const Dataのobjからgetx()を呼び出しているせいか(?)、以下のコンパイルエラーが出ます。
passing `const Data' as `this' argument of `int Data::getx()' discards qualifiers
getx()はxを変更しないのに、objをconstにしたらダメなのでしょうか?






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

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

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