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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:29:45 ]
エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。
※sageは禁止です。
【前スレ】
【初心者歓迎】C/C++室 Ver.36【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1175436073/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm


403 名前:382 mailto:sage [2007/05/20(日) 17:05:01 ]
まだいくつか省略してますがどこがおかしいのでしょうか?

>>399
ありがとうございます。見直して成功したら報告させて頂きます。

404 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:40:32 ]
>>385
コンパイラによってはテーブルジャンプにしてくれる場合もあるとか
まぁ環境によるので実測しなさい

405 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:46:27 ]
>>404
それを言うならジャンプテーブルだろ、馬鹿w

それからコンパイラによってはっていうよりそもそも
ジャンプテーブルに変換する為のモンだぞ、switch は。
確かに状況により必ずしもジャンプテーブルになるわけじゃないが。

406 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:58:14 ]
万単位の分岐をelse ifのはしごで書くと
結構はっきり違いが分かるらしい

407 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:02:51 ]
そこまで作るのがここに何人(ry ごめんなさい妬みですorz

408 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:24:51 ]
int型の整数の中に、任意の整数が含まれているか調べる方法ってありますか?
たとえば

int a = 1234;

があって、この中に3という数値が含まれてるかどうか、みたいな感じです。
文字列として扱ってしまえばできそうなのですが、intからcharにキャストすると
どうもおかしくなってしまって・・・

よろしくお願いします

409 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:26:00 ]
sscanf

410 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:26:03 ]
10で割って一桁ずつ見ていけばいいでしょ

411 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:26:56 ]
sprintfしてstrchrで探すとか。



412 名前:410 mailto:sage [2007/05/20(日) 18:27:24 ]
1の位を見るにはa%10

413 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:54:29 ]
>intからcharにキャスト

toString()ではいかんのか?
(Cなら >411 だが)

414 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:55:38 ]
itoa系列の関数を使うといい

415 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:02:24 ]
itoa()は標準関数じゃないよ。

416 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:08:56 ]
ごめんちゃい><

417 名前:408 mailto:sage [2007/05/20(日) 19:15:16 ]
いろいろとどうもです
sprintfの存在を初めて知りました
それで挑戦してダメだったら1桁ずつ見ていきたいと思います

418 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:27:37 ]
速度求めるなら一桁ずつ見る方法の方がいいよなO(N)未満だし

419 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 00:47:05 ]
>>381 です。

なんとか、少しづつ進んでみたのですが・・・。
現状のリストについている水平スクロールの値は取得&設定できました。
でも、設定をすると、リストの水平スクロールは稼動するのですが、
リストは一緒に動いてくれません。
どうしたら、リストも一緒に動いてくれますか?

GetDlgItem(IDC_リストコントロール)->GetScrollRange(SB_HORZ ,&iMin,&iMax);
iTest = GetDlgItem(IDC_リストコントロール)->GetScrollPos(SB_HORZ);
GetDlgItem(IDC_リストコントロール)->SetScrollPos(SB_HORZ,iTest+5,true);

420 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 01:22:53 ]
>>368
>>389
直観的方法だけど、
・必要な素数列を最初に求める。
・1は定義より含まれないことが自明なので2から始める(2も自明のような気がするけど)。
・任意の数の友愛数は二つ以上ないと仮定して(証明されてるのか知らん)、既に友愛数になった数はスルー。
・求めた素数列を使って素因数分解してから組み合わせを網羅して約数列を作る。
・約数列の合計を求めて元の数より小さければその数は既に調べているのでスルー(等しいということはないだろうけど一応含めてスルー)。
・そうでない場合はその数の約数列を作り合計を求めて元の数と比較し、一致していれば友愛数。
ttp://www.geocities.jp/krtcw777/amicable_numbers.txt
この方法だと>>368の環境で1000000まで30分どころか30秒もかからない(と思う。当方Pen4 2.53GHzで28秒)。

421 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:10:01 ]
はじめて質問します。よろしくお願いします。
switch文で、int型の特定の値を入力するまで処理を繰り返すものを作っているのですが、
(1、2、のメニュー番号を入力するまで繰り返す、など)
int型(1)ではなく、1.0やaなど指定されたもの以外入力すると
無限ループになってしまい、処理を抜けることができません。
画面に表示された番号以外打ち込むなと言いたいところなのですが…。
これを避けるためにはどのようにcaseを設定したらよいのでしょうか?

よろしくお願いします。



422 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:45:59 ]
default:

423 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:58:07 ]
www.google.co.jp/search?q=scanf+%E5%95%8F%E9%A1%8C%E7%82%B9

424 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 03:52:32 ]
>>421
switchの前でscanf()を使って入力しているのなら、fgets()+sscanf()に変更してみることお勧め。

425 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 04:17:38 ]
>>368
これで早くなってるはず
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4014.c

C7 600MHz で 30秒

426 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 04:40:48 ]
O(N^2)台のアルゴリズムはまだかね

427 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 05:13:28 ]
>>368
メモリ大量消費版
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4015.c

C7 600MHz で 10秒

428 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 10:11:00 ]
>>368
>>427 のオーバーフロー耐性を強化
yakuwa[i]=yakuwa[i_copy]*(i/i_copy*j-1)/(j-1);

yakuwa[i]=yakuwa[i/j]+yakuwa[i_copy]*(i/i_copy);

429 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:18:08 ]
定数の割り算は、かけ算に自動的に直されてしまうのですか?

430 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:23:44 ]
>>429
そんな事はないけど大抵はコンパイラの最適化によってそうなる
理由は割り算よりかけ算の方が大抵のCPUで速いから

431 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:08:50 ]
ツリービューコントロール等で項目が選択された場合に、何番目の項目が選択されたか調べたいのです。

WM_NOTIFYメッセージを捕まえて、何番目の項目が選択されているか調べているのですが、どうやら
この方法だとツリービューコントロールが選択される直前に選択されていた項目の値が返ってしま
います。

恐らくWM_NOTIFY以外のウィンドウメッセージを捕まえるべきなのでしょうが、どのメッセージを
捕まえればよいのでしょうか?



432 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:14:57 ]
TVN_SELCHANGED

433 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 18:59:00 ]
>>432
ありがとうございます。
しかしTVN_SELCHANGED メッセージはそのままでは取得できないんですね…。
色々と面倒そうですがやってみます。ありがとうございました。

434 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 19:02:47 ]
WM_NOTIFY を捕まえてるのに、そのままでは取得できないってのは無いだろう。

435 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 19:21:13 ]
>>434
すみません、リストビューの扱いを間違っていました。
ちゃんとTVN_SELCHANGEDでそのままメッセージを取得できました。
重ね重ねアドバイス感謝します!

436 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 19:39:11 ]
リストビュー?
ツリービューじゃないのか?

437 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 19:42:05 ]
あ、ツリービューでした。

438 名前:デフォルトの名無しさん [2007/05/21(月) 20:13:33 ]
class Foo {
public:
 Foo(bar b);
 func();
private
 struct Impl;
 smart_ptr<Impl> pimpl;
};
があった時、インスタンス化されたFoo型のオブジェクトfのfunc()を
関数オブジェクトにしてSTLのアルゴリズムに渡したいんですが
(理由:func()はFooのコンストラクタによって初期化されたメンバpimplを利用する)、
どうすればいいんでしょう?
出来れば関数ポインタではなく関数オブジェクトとして扱いたいです

439 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 20:26:53 ]
boost::function<int ()> f = std::bind1st(std::mem_fun(&Foo::func), that);
だって、boostのチュートリアルに書いてあった

440 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 20:33:21 ]
boost::bind(std::mem_fun(&Foo::func), &f)

441 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 20:37:03 ]
回答ありがとうございます、上手く行きました。
しかしこんな奇怪なコードが通ることについてとても不思議に思います。



442 名前:デフォルトの名無しさん [2007/05/21(月) 21:45:31 ]
質問です。

プログラム初心者の質問なんですが、
プログラム上で指定したフォルダに、ファイルがいくつ格納されているのか?
また、どんな名前のファイルなのか調べる方法はないものでしょうか?

443 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:47:53 ]
あります。

444 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:47:53 ]
あげてしまいました。ごめんなさい。
あと環境はC++です

445 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:48:02 ]
>>442
Windows環境なら、FindFirstFile でぐぐるとよろし

446 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:50:24 ]
>>442
Win32ならFindFirstFile/FindNextFile

447 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:51:59 ]
>>442
Win32APIを使うならFindFirstFile、FindNextFile、FindClose。

448 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:52:44 ]
>>445-446
式は来月あたりですか?

449 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:53:19 ]
<boost/filesystem/operations.hpp>あたり

450 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:53:51 ]
421です。
いただいたヒントとatoiで修正することができました。
どうもありがとうございました。


451 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:57:59 ]
442です

ありがとうございます。
環境はWindowsなので、FindFirstFileでいいようです。
例になるコードもぐぐれたので、なんとかがんばってみます!



452 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:01:04 ]
>>439-441
boost::bind なら↓でおk

boost::bind(&Foo::func, _1)

453 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:47:50 ]
>448
全然一致してないじゃん

454 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:57:08 ]
tr1::bindでもいいよ

455 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 02:41:30 ]
二次関数(y = a x^2+ bx +c)でxがx1 <= x <= x2のときの最大値と最小値(そのときのxの値も含めて)を求めるプログラムを作成せよ。
ここでa,b,cは整数、x1,x2は浮動小数とする。

数学の発展課題として出されたのですがさっぱり分かりません。
どなたか手を差し伸べてください・・・orz

456 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 02:43:42 ]
>>455 丸投げは宿題スレ逝け。

457 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 03:05:43 ]
C++の質問なのですが、
配列:123224があるとして、2の要素数だけを取り払い、前詰めをして
配列:134にするには、どのような方法がありますか?
お願いします。

458 名前:457 mailto:sage [2007/05/22(火) 03:13:32 ]
Deleteを使わない方法がありましたら、それをお願いします

459 名前:デフォルトの名無しさん [2007/05/22(火) 03:21:13 ]
Deleteというのが何なのか知らんが、
std::vectorと共通アルゴリズム使えば一発じゃないか?

460 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 03:21:35 ]
>>457-458
配列って std::vector のことか?
結果の要素数が変わってるんで、組み込み配列じゃないんだろう。
だったら remove + erase でいい。

"Delete" って delete 演算子のことか?
new を使ってないなら使うもクソもねーよ。

461 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 03:31:02 ]
>457

#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

int main(){
int array[] = {1,2,3,2,2,4};
vector<int> vi(array, array+6);

vi.erase(remove(vi.begin(), vi.end(), 2), vi.end());

for(int i=0; i<vi.size(); i++)
cout << vi[i] << ' ';
cout << endl;

return 0;
}



462 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 05:55:58 ]
>>368です

>>389 >>420 >>425 >>427 さん、レスありがとうございます。
素因数分解を使うと手っ取り早く約数が計算できるのですね。
後でwikipediaを見て知りました(汗
あと、本探索部分もいらないループしてましたし。
プログラムを書いていただいたお二方もありがとうございました。
>>427さんのプログラムだと2秒で終わりました!
素因数分解の方法とか、ためになります。(まだ、ちゃんと読めてないですけど)
ありがとうございました。

463 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 06:22:51 ]
うーむ・・こんなにも差が出るもんなんやね・・
アルゴリズムの大切さをあらためて実感した。

464 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 07:48:37 ]
>>462
中学で習うよ・・・

465 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 08:07:40 ]
>>462
約数の和

60 の場合
60= 2^2 * 3^1 * 5^1
(60の約数の和)=(2^0 + 2^1 + 2^2)*(3^0 + 3^1)*(5^0 + 5^1)
=(1+2+4)*(1+3)*(1+5)=168

>>427 のアルゴリズム
60=2^2*15
(60の約数の和)=(15の約数の和)*(2^0 + 2^1 + 2^2)
=(15の約数の和)*(2^3-1)/(2-1)

>>428 のアルゴリズム
60=2^2*15
(60の約数の和)=(15の約数の和)*(2^0 + 2^1 + 2^2)
=(15の約数の和)*(2^0 + 2^1) + (15の約数の和)*2^2
=(30の約数の和) + (15の約数の和)*2^2

466 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 12:56:16 ]
C++で値クラスを作る際に、Cスタイルの構造体を選択した場合、
コンストラクタのオーバーロード
(引数なしでメンバは全てゼロ、または指定引数で初期化といった動作をさせるため)
すること、さらに考えを進めて振る舞い、つまりメンバ関数を持たせることって良くないんでしょうか?

467 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:02:16 ]
凸包を調べるためにQhullを使ってるんだけど、頂点配列points[i]から
凸包の外周要素に使われた点の添字を抜き出す方法って無い?

色々やってみたけど、外周要素の点の座標しかもってこれないです。

468 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:03:45 ]
構造体にメンバ関数を持たせることに対する文法的な質問?
それとも比較的どうでもいいコーディングスタイル的な質問?

前者なら、文法上可能。
classとstructはデフォルトのアクセス修飾が異なるだけでなんら問題なし。

後者なら、好きにすれば?としか言いようがない。

469 名前:デフォルトの名無しさん [2007/05/22(火) 13:15:52 ]
|は演算子ですか?こういう使い方みるんですが

a(x|y,z)

470 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:16:26 ]
入門書に書いてあるような事を聞かない。

471 名前:デフォルトの名無しさん [2007/05/22(火) 13:18:57 ]
じゃあスレタイに初心者歓迎なんてつけないでください



472 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:26:26 ]
読んでも分からない事ならいいが、
読めば誰でも必ず分かる事を聞かれても困る。

473 名前:デフォルトの名無しさん [2007/05/22(火) 13:28:11 ]
1か0かって書いてたんで変数1か0しか無意味ということですか?

474 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:28:27 ]
演算子ですよ

475 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:29:34 ]
x|y ビットOR
x||y 論理演算OR

476 名前:デフォルトの名無しさん [2007/05/22(火) 13:30:59 ]
ビットOR の使いかたがわかりません

477 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:33:47 ]
各ビットでORが必要になったら使う
必要でなかったら使わない

478 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:34:01 ]
y==11001010
x==00110101

z=x|y

z==11111111

479 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:34:09 ]
たとえば
a = 99|137;//aには235が代入される
01100011 (99)
10001001 (137)
---------ビットOR
11101011 (235)


480 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:41:08 ]
こんなのにわざわざ…
おまいら親切だな

>>471
モノには順序(ry

481 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:59:50 ]
うん、俺今ちょっと気分いいんだ。



482 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 14:06:12 ]
惚れました(*´ェ`*)

483 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 14:15:46 ]
誰かcygwinでwhileを使った九九のプログラムの作り方を教えてくれませんか(´д`)

484 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 14:17:27 ]
宿題は自分で。

485 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:34:09 ]
www.uploda.org/uporg818968.txt.html

リスト云々覚えようかとこんなの書いてみたんですが、下から10行目辺りのreallocの所で、強制終了してしまいます。
どこが悪いんでしょうか・・・・誰か教えて下さい

486 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:41:48 ]
ポインタを初期化もして無いくせにrealloc使うな。
どうしても使いたきゃNULLで初期化してから使え。

487 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:44:04 ]
つーか、
struct late data[20];//とりあえず、20個分
struct late *memp=data;//↑のデータの最初のアドレスをmempに
配列のアドレスで初期化しとる。

初期化しなければ、グローバル変数だからNULLが入るんでうまくうごいたのにね。

488 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:47:11 ]
reallocの動作を勘違いしてる

489 名前:485 mailto:sage [2007/05/22(火) 16:52:22 ]
む・・・良く分かんない・・・・・・orz
reallocの一つ目の引数には、中身が入ったポインタを指定してはいけないって事ですか?

490 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:54:10 ]
>>489
一つ目の引数は必ずmallocやreallocで取得したポインタ(か、NULL)
同じ位置で指定したサイズが取得できないと、別の場所でallocしなおして
最初のやつはfreeされる。

491 名前:485 mailto:sage [2007/05/22(火) 16:57:11 ]
>>490
あ、分かりました。
struct late data[20];//とりあえず、30個分
struct late *memp=data;//↑のデータの最初のアドレスをmempに
↑の部分を

struct late *memp;
memp = (struct late*)malloc((sizeof(struct late)) * 20);
こうすればいいんですよね?



492 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 16:59:54 ]
>>491
まあそういうこと。
そして、reallocするということは、それが常に同じアドレスとは限らない。

493 名前:485 mailto:sage [2007/05/22(火) 17:01:35 ]
>>492
ありがとうございました。物凄く勘違いしてたっぽいですねorz
勉強になりました。

494 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:09:37 ]
>>466
C++/CLIでのことだったらそっちのスレで聞いたほうが的確な助言がくると思うぞ。

495 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:28:41 ]
www.heat-devil.com/up/src/No0300.zip
非常に初心者な質問なのですが、
ファイル分割の勉強中で↑な感じで3つに分けて
borland C/C++コンパイラでbcc32 a.cpp hoge.cpp hoge.hとやったら
『 hoge.h 1: 宣言の構文エラー』と出るのですが、
hoge.hのどこが間違っているのか分からないのでどなたか教えてくださいorz

496 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:50:28 ]
>>495
なんで hoge.h がエラー扱いされてしまうのかは俺も少々不可解だけど、

  bcc32 a.cpp hoge.cpp

でおk。hoge.h は a.cpp と hoge.cpp から include される対象に
過ぎないからコンパイルする必要は無し。

497 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:57:29 ]
.hをコンパイルすると、C++じゃなくて、Cとして
コンパイルされるんじゃないの。

498 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:59:58 ]
ああ、なるほど。

499 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:16:23 ]
>>496-497
うわぁああ出来ました!!
そうか、iostreamとかもコンパイルの時書かないですしね><
分割するの初めてだったからファイルの書き方間違っているのかと
今日一日中ネットや本で調べたけど分からなかったのでホントに嬉しいです・・・(;△;)
まさかそっちのやり方が間違っていたとは。
ありがとう、本当にありがとうございます><


500 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:18:59 ]
(;△;)

501 名前:デフォルトの名無しさん [2007/05/22(火) 22:49:01 ]
オーム社「C言語によるプログラミング[応用編]」(第一版)
サンプルプログラム sample2 myform.c

をそのまま写して、コンパイルしたところエラーがでました。
環境は、
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) です。

エラー出力は、
myform.c:57: error: two or more data types in declaration specifiers
myform.c:104: error: conflicting types for 。GetArg「
myform.c:57: error: previous declaration of 。GetArg「 was here
myform.c:256: error: conflicting types for 。LineAdd「
myform.c:58: error: previous declaration of 。LineAdd「 was here

int GetArg( int, char *[], int *, int *, int *, int *, char [] );
int GetArg(
int argc,
char *argv[],
int *column, /* カラム数 */
int *line, /* 行数 */
int *upper, /* 上余白行数 */
int *left, /* 左余白行数 */
char file[] /* 入力ファイル */
)

int *LineAdd( char *, char *, int );
char *LineAdd( char *to_buff, char *from_buff, int num )




502 名前:501 [2007/05/22(火) 22:51:35 ]
このエラーの原因を知りたいのですが、
ヒントやポインタをおねがいします。

一番下のこの部分は無視してください。
int *LineAdd( char *, char *, int );
char *LineAdd( char *to_buff, char *from_buff, int num )
_

503 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:52:40 ]
どこが57行目?






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

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

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