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


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

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



1 名前:デフォルトの名無しさん [2008/02/28(木) 00:01:39 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.49【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1203478421/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

756 名前:デフォルトの名無しさん [2008/03/11(火) 03:26:09 ]
やり方を教えてください

757 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 03:30:19 ]
上で散々でてるがな。

758 名前:デフォルトの名無しさん [2008/03/11(火) 03:30:20 ]
商品先物や、為替取引と同じようなものです
現物を扱わずに売り買いだけを先にしてしまうようなものです
読み込みと書き込みの約束だけをしてしまい不要ならメモリを解放します

759 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 04:31:06 ]
口約束で終わるって事か?

760 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 06:03:12 ]
スレが伸びてると思ったら、梯子もなしに屋上に上ろうとする馬鹿が沸いてたか。

761 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 07:20:30 ]
VirtualAllocでCOMMITを調整する話か?
まー、32bitアプリは仮想メモリ空間も
2Gあたりでリミットだからあんまし意味がないけど

762 名前:デフォルトの名無しさん [2008/03/11(火) 07:20:53 ]
>>756


763 名前:デフォルトの名無しさん [2008/03/11(火) 07:23:38 ]
>>756
Windowsなら4つのAPIで実現できる。
APIの頭文字はそれぞれ、C、M、U、Cだ。

764 名前:デフォルトの名無しさん [2008/03/11(火) 09:38:41 ]
書き込み予約と、読み取り予約と、バッファ管理して
それらを同時に動かして快適動作させたいわけです
コードを教えてもらえませんか?
読み書きのバッファを128KB単位にして管理すれば良さそうなんですが・・
x[n]のようにデータにアクセスできるが、前方が解放されていたとしてもそれ以外は同じアクセスが出来るようにしたいです



765 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 09:46:11 ]
>>764
ディスクを交換するほうが早い。

766 名前:デフォルトの名無しさん [2008/03/11(火) 10:36:58 ]
>>764
脳ミソを交換ry

767 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 12:00:57 ]
>>764
したい事は >>748 なのか?
もしそうなら、標準関数は何もしなくてもそうなってる

一体何のために何がしたい?

768 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 13:46:23 ]
読み込みや書き込みをできる限りメモリにキャッシュしたい、というこ
となら、組み込み環境でない限り、OSがそれぐらいはやっている。


769 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 13:57:28 ]
そんなこと無いよ
それだったらFFCやfast copyがOS標準のコピーを上回らないはずだよ
一つの巨大ファイルだけを扱うならば、速度差は出ないだろうけど
複数のファイル(1000以上同時など)を扱うと標準のはやつにたたない
あと2Kずつ書き込みがあったとしたらそのつどAPIでそのまま書き込んでいたらとても鈍いよ

770 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:02:16 ]
ファイルをメモリにロードする事、複数の少数ずつのファイル出力の最適化する事
上のファイルロードをスレッド化して読み込み中に不要なメモリを解放出来るようにすること

771 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:07:58 ]
まずC言語とWindows APIのファイル入出力は難しいんだよ

Read( "inputfile", buf );
Write( "outputfile" , buf );
だけで扱えるようにしたい

しかしここで、バッファ管理やマルチスレッド化を導入しなければ
巨大ファイルを読み込むときにメモリ不足が足らなくなったり、少数ファイルの書き込みで速度低下する
これらを解消して簡単なファイル入出力をしたい

772 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:10:02 ]
ファイルマッピングをmemcpyしたまえ
64ビットならアドレス空間も余裕だ

773 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:20:24 ]
>>769
FFCとかはFILE_FLAG_NO_BUFFERINGをつかって
システムキャッシュにのせないことで高速化してるんじゃなかったっけ?

774 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:28:10 ]
>>770
目指している方向はわからなくもないが、
ここで色々訊いているような人間が使い物になるものを作れるかどうか不安。
何事も、下手な自作よりOS標準など既存のものほうがずっとうまいと仮定すべき。



775 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:33:19 ]
読むだけじゃ意味無い(処理するために読む)んだから、
巨大データをオンメモリでっていうこと自体に元々限界があるの。
分けなさい。

776 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:49:21 ]
すみません 出力値が異なるのですが原因がわかりません なぜでしょうか?
#include <iostream>
#include <string>
using namespace std;
#define N 10000000

int main(){
unsigned int n,m,cn[256];
string x(N,'\0');
for(n=0;n<N;n++)x[n]=rand()&255;
for(n=0;n<256;n++){cn[n]=0;for(m=0;m<8;m++)cn[n]+=(n>>m)&1;}

unsigned int sum=0;
for(n=0;n<N;n++)sum+=cn[x[n]];
cout<<sum<<endl;

#define b(x,i) ((x>>i)&1)
sum=0;
for(n=0;n<N;n++){
int y=x[n];
sum+=b(y,0)+b(y,1)+b(y,2)+b(y,3)+b(y,4)+b(y,5)+b(y,6)+b(y,7);
}
cout<<sum<<endl;
}

777 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:52:58 ]
自己解決しました
string x(N,'\0');

vector<unsigned char> x(N,0);
で一致しました

778 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 15:48:42 ]
ちょっとお尋ねしたいのですが
コンパイル時

../source/memo.h:15: note: candidates are: MyFrame::MyFrame()
../source/memo.h:15: note: MyFrame::MyFrame(const MyFrame&)

のようなエラーが出たのですが、このエラーはどういう意味のエラーなのでしょうか??

779 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 16:52:43 ]
それ単独では出ないと思うけど・・・
その直前のエラーについての補足説明で、
候補としてこういう関数がありますよってことじゃないかなたぶん?

780 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 20:31:11 ]
山ほどあるコンパイラのエラー出力フォーマットなんていちいち覚えてられないよ。
コンパイラ・ソース・エラー(省略せずに)を明記してくれ。

781 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:04:38 ]
>>778
noteって単語と、candidateって単語の意味くらい調べましょうね。
そうすればそれらの行がエラーじゃないことと、何を言わんとしているか位判るだろうから。

782 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:06:36 ]
>>769
>複数のファイル(1000以上同時など)を扱うと標準のはやつにたたない
                                  ̄ ̄
>巨大ファイルを読み込むときにメモリ不足が足らなくなったり、少数ファイルの書き込みで速度低下する
                         ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
落ち着いて、日本語で書いてください。

783 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:07:04 ]
int a[6]={0,1,2,3,4,5,6}
とすると、配列の中身を一気に定められますが、
int a[6]
と一度定義した配列に一気に中身を代入することは可能でしょうか

784 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:15:55 ]
>>783
int oneShotArray[] = {0, 1, 2, 3, 4, 5, 6};

int a[6];

std::copy(oneShotArray, oneShotArray + 6, a);
memcpy(a, oneShotArray, sizeof(* a) * 6);



785 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:43:13 ]
誘導されてこちらに来ました。

ifstreamで半角空白を含むファイル名や、日本語を含むパスで
ifstream ifile(フルパス名);で失敗してしまうのですが、これは仕様なのでしょうか?
仕様なのでしたら回避策はあるのでしょうか?

Visual Studio 2005SP1を使用しています。
よろしくおねがいします。



786 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:43:47 ]
コンパイルはVisualStudio2005 Command Promptで行いました。
フルパス名をコピペして、\を一つ減らしてエクスプローラーに貼り付けると正常に開けます。

#include <iostream>
#include <fstream>
#include <windows.h>

using namespace std;


int main(int argc, char **argv)
{
ifstream ifile("d:\\新規テキスト ドキュメント.txt");
if(ifile) {
MessageBox(NULL, "success", "info", MB_OK);
ifile.close();
} else {
MessageBox(NULL, "failed", "info", MB_OK);
}
return 0;
}


787 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:44:52 ]
>>786
向こうの誘導したレスの前半は無視ですか?

788 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:46:51 ]
えくすぽろーらで開けんだから、ファイルはあるんしょ

789 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:49:05 ]
とりあえずtest.txtで試してみたら?

790 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:49:56 ]
だから、カレントディレクトリはどこなのかとw

791 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:50:28 ]
ソースコードのエンコーディングがutf8なんじゃない?

792 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:51:42 ]
>>787
ファイルはあります。

>>789
"d:\\test.txt"ではsuccessとなります。

793 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:52:33 ]
だったらロケール設定して見るんだ。

794 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:53:40 ]
>>791
ソースコードに
// あいうえお
と入力して、テキストエディタでエンコードを確認しましたがシフトJISでした。




795 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:57:55 ]
>>793
setlocale(LC_ALL, "");

で出来ました!
ありがとうございました!

796 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 22:36:43 ]
向こうで速攻でロケールについて指摘されているのを無視するからだ・・・

797 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:16:36 ]
なんで無知の身でもらった回答を勝手に「選別」するんだろうな。

798 名前:デフォルトの名無しさん [2008/03/11(火) 23:17:43 ]
自分クラスのアドレス(実際はthis)をstatic_castで上位クラスにキャストしなおして、上位クラスのメソッドを呼ぼうと思ったのですが
segmentation faultになります。
baseclass::method();
と書いて目的は達成できたのですが、segmentation faultになる理由が分かりません。

#あと、このスレのタイトルが
#【初心者歓迎】C/C++室 Ver.50【環境依存OK】
# ってなってるけど、なんか何度かVer.50がくりかえされているような気がするのは自分だけ?


799 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:39:18 ]
だからコードを晒せと。スラッシングが起きてるんじゃねーだろーなー

800 名前:デフォルトの名無しさん [2008/03/11(火) 23:51:29 ]
どこで聞けば良いのかわからなかったので、
環境依存OKということでここでお伺いします。

linuxThreadsでは、あるスレッドでsetpriority()を呼ぶと
親スレッドの優先度は変化しないと思いますが、
NPTLでは同一のPIDならすべて変化するのでしょうか?


801 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:52:56 ]
>linuxThreadsでは、あるスレッドでsetpriority()を呼ぶと
>親スレッドの優先度は変化しないと思いますが、
そうは思えないが。

802 名前:778 mailto:sage [2008/03/11(火) 23:54:27 ]
レスくださった方々ありがとうございます。
noteはなんとなく分かったのですが、candidatesは調べてもわかりませんでした。
candidatesは何のことなんでしょうか・・。
どなたかご教示頂けると幸いです。

803 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:57:01 ]
ヒント:複数形

804 名前:デフォルトの名無しさん [2008/03/11(火) 23:57:11 ]
>>799
すいません。

class base {
public:
virtual void resize(){}
};
class deri : public base {
public:
virtual void resize() {
#if 1
base* tmp = this;
tmp->resize(); // ここでseg fault
#else
base::resize(); // 問題なし
#endif
}
};
です。



805 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:58:21 ]
>>804
無限再帰でスタックオーバーフローだな。

806 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:59:48 ]
・base::resize() 静的に呼ぶ
・tmp->resize() 結局virtualたどってderi::resize()にくるから無限再帰

807 名前:デフォルトの名無しさん [2008/03/12(水) 00:00:30 ]
>>801
即レスどうもです!!
そうなんですか?
manにはプロセスの優先度を設定すると書かれてありました。
linuxThreadsはPIDを共有しないので変化しないと思ってたのですが。
PIDは違うけどプロセスは同一ということでしょうか?


808 名前:デフォルトの名無しさん [2008/03/12(水) 00:07:58 ]
>>805-806
ありがとうございます。tmp->resize()の前にログをいれて再帰していることを確認しました。
再帰というのは全然考えてなかったです。
助かりました。

809 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 00:21:21 ]
>>802
../source/memo.h:15: note: candidates are: MyFrame::MyFrame()
../source/memo.h:15: note: MyFrame::MyFrame(const MyFrame&)

俺も英語は苦手だがせっかくネット使えるんだから有効活用しようぜ。
「MyFrameが複数の候補がある」という内容。
コード上でどちらの処理を使うかがコンパイラに判断できないからだ。


810 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 00:23:45 ]
エスパーすると、直前に
no matching function for call to 〜
とか云われたはず。コードで書いてある引数に
マッチする関数の宣言がなかったって話。

811 名前:778 mailto:sage [2008/03/12(水) 01:14:43 ]
>>803さん 809さん 810さん

レスありがとうございます。
なるほど、普通に「候補」でよかったんですね。
なんかプログラミングの専門用語でcandidatってのがあるのかと勘違いしてました。

ありがとうございましたm(_ _)m

812 名前:デフォルトの名無しさん [2008/03/12(水) 01:16:15 ]
正常なSJISならば出現しない番号0-255ってありますか?

813 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:24:27 ]
>>812
日本語でおkと言いたいが、
windowsなら スタート → すべてのプログラム → アクセサリ → システムツール → 文字コード表
を見てみては?

814 名前:デフォルトの名無しさん [2008/03/12(水) 02:02:04 ]
すみません 番号を教えてください



815 名前:デフォルトの名無しさん [2008/03/12(水) 02:10:10 ]
新聞、2ちゃんなどを1ギガほど計測したところ次の通りでした
下位のものは間違ったSJISの番号でしょうか?

26番15475回
30番17423回
22番18440回
127番18931回
25番19273回

上位
32番45338056回
130番93045087回

816 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 02:11:38 ]
スレ違い

817 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 02:51:43 ]
一度定義したクラスのデータメンバやメンバ関数をあとで追加することってできないのでしょうか?

例えば、40行目で
clsss aaa {
public:
void sample1 ();
}

と定義したクラスのデータメンバとメンバ関数を、
80行目で

class aaa {
public:
int xxx;
void sample2();
}

みたいな感じで、追加する感じです。

上のように書いたのをコンパイルしようとしたらエラーが出たのですが、
すでに定義したクラスの機能を拡張するにはやはり継承しなければいけないのでしょうか??


818 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 02:52:26 ]
はい、そうです

819 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 05:03:16 ]
>>817
40行目の定義を削除すればいいじゃん。

820 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 05:44:14 ]
環境はLinux/Windowsの両方です
HDD残量を取得したいのですがどのようにすればよいのでしょうか?

環境に関係なくとる方法はあるのでしょうか?
もしなければ,どのようにして取得すればよいか教えていただきたいです.

821 名前:デフォルトの名無しさん [2008/03/12(水) 06:16:19 ]
環境別に分ける

822 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 07:48:11 ]
>>811
だから、英単語の意味を調べたら単に「候補」って出てくると思うのだが……

823 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 07:49:31 ]
>>820
そもそも、どのディスクの残量を知りたいのかね。

824 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 07:55:39 ]
Amazonを使ってる方へ

Amazonのほしい物リストで、個人情報(氏名等)がもれる場合があります。
ほしい物リスト(ウィッシュリスト)が未登録ならば、問題ありません。
しかし、自分のアカウントを調べた方が良いです。
1505953.blog76.fc2.com/blog-entry-340.html

祭り中?
【祭】Amazonウィッシュリストで個人情報ダダ漏れ中★6
namidame.2ch.net/test/read.cgi/news/1205262805/





825 名前:817 mailto:sage [2008/03/12(水) 11:28:26 ]
>>818 さん >>819さん
レスありがとうございます。

40行目のやつは、実際今作ってるプログラムだとincludeで読み込んでるライブラリで定義していまして、
消して下で書き直すのもライブラリ自体をいじるのもなんか好ましくないような気がしまして。

やはり継承するしかなさそうですね。というかむしろライブラリのクラスは継承してから使うものなんですかね。
ありがとうございましたm(_ _)m


826 名前:デフォルトの名無しさん [2008/03/12(水) 13:36:09 ]
すれ違いといううことでここに移ってきたんですが、
stlの使い方について質問です。今リストの中に1,2,4,8,16,32,64
と入っているんですが、"erase" を使って5番目の数字を削除して中身を表示し、
その後に3番目の数字を削除して表示。 そして、"insert"を使って3番目と4番目の
数字の間に7を入れて表示という感じにするにはどうしたらいいんですか?
osはubuntuでg++を使っています。 
#include <iostream>
#include <iterator>
#include <list>
using namespace std;
int main(){
list<int> mylist;
for(int i=1; i<=64; i *= 2)
mylist.push_back(i);
cout<<endl;

list<int>::const_iterator itr1;
for(itr1 = mylist.begin(); itr1 != mylist.end(); itr1++)
cout<< *(itr1)<<" ";
return 0;
}

827 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 13:47:08 ]
質問です
引数つきコンストラクタから、デフォルトのコンストラクタを呼ぶことはできないでしょうか?
Javaではできたので、C++でもできないものかと思っているのですが

CHoge::CHoge()
{
// 共通の初期化がだらだらと
}

CHoge::CHoge(int type)
{
// CHoge()で共通の初期化を呼び出したあと、色々やりたい
}

CHoge::CHoge(const char *psz)
{
// CHoge()で共通の初期化を呼び出したあと、色々やりたい
}

828 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 13:56:34 ]
初期化処理をまとめたプライベート関数を作ればよろし

829 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 13:58:35 ]
>>827
ないよ。
そんなことできたら初期化子が重複するから。

830 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 13:59:16 ]
>>828-829
ありがとうございます
初期化プライベート関数つくるとします


831 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 14:01:57 ]
>>826
>"erase" を使って5番目の数字を削除して中身を表示し
削除したら表示できないだろ。
削除するだけでいいなら、文字通りerase()を使えばいい。
# erase(), insert()は引き数にiteratorを必要とするが、
# advance()を使えば何番目を指すiteratorを作れる。

832 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 14:02:09 ]
>>827
C++でもコンストラクタからコンストラクタを呼び出すことは文法違反ではない。

CHoge::CHoge()
{
// 共通の初期化がだらだらと
}

CHoge::CHoge(int type)
{
  CHoge(); //一時オブジェクトの生成!!!!!
  
  //いろいろな固有の処理
}

しかし、こんなコードを書いたならば想像してるとおりにはならないだろう。
こういう場合C++では、共通化したい処理をまとめた
(恐らくはprivateな)メンバー関数を別に用意する。

void CHoge::init();

CHoge::CHoge(int type)
{
  init(); //共通の処理
  
  //いろいろな固有の処理
}

833 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 14:10:49 ]
勇気を出して変えてごらん
HogeをMoeに変えてごらん
そうすれば世界も変わって見えるんだ


834 名前:デフォルトの名無しさん [2008/03/12(水) 14:20:50 ]
>>831
"erase" を使って5番目の数字を削除して中身を表示
1,2,8,32,64
その後に3番目の数字を削除して表示
1,2,32,64
そして、"insert"を使って3番目と4番目の数字の間に7を入れて表示
1,2,32,7,64
というう感じにしたかったんです。




835 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 14:29:04 ]
>>834
その通りに書けばいいだろ。

www.wakhok.ac.jp/~sumi/stl/header/vector.html

836 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 15:13:26 ]
>>834
>831に書いた内容の何が気に入らないんだ?(:;
つーか、4はどこに消えたんだ?

837 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 15:27:12 ]
マクロでクラス生成をしたいのですが、任意のクラス名を受け取る方法はないですか?
#define GENERATE_CLASS class X {...} // マクロを呼び出す側からXの部分を任意に指定できるようにしたい

838 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 15:30:49 ]
#define GENERATE_CLASS(x) class x{hogehoge

ではないの?

839 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 15:48:28 ]
template使えば?

840 名前:837 mailto:sage [2008/03/12(水) 15:58:32 ]
>>838
その方法はGENERATE_CLASS(Hoge)と使った時、Hogeの部分でエラーが出た気がしたのですが、
今もう一度試してみたらできました。(別の部分で間違いがあったようです)
簡単すぎること聞いて申し訳ないです。

>>839
template引数のバインドができない関係で、マクロでクラスを書くことになってので、templateでは無理なのです。

841 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 16:04:21 ]
>>840
まさかとは思うが、業務上のプログラムを2ちゃんで質問しながら書くなよ。

842 名前:837 mailto:sage [2008/03/12(水) 16:06:27 ]
>>841
趣味グラマです。

843 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 17:21:29 ]
Visual C++ 6.0の課題で分からないところがあるので助言お願いします。

「main関数において、返却値の値によって表示の方法を変えよ」
とあるのですが“表示の方法を変える”とはどのようなことをすれば良いのでしょうか?
返却値は1、2、3の三つです。

844 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 17:32:05 ]
printf("%dがきたー\n", henkyakuchi)



845 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 17:33:57 ]
変化球がきたに見えた

846 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 17:43:04 ]
>>844
ありがとうございます
とりあえずその方向でやってみます

847 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:06:09 ]
>>843
もし問題文が
「main関数において、返却値の値によって表示の方法を変えよ」
だけなら、回答はこうだ
「日本語でおk」

848 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:12:25 ]
うむ、出題の意味がわからん。
そして宿題は宿題スレへ。


849 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:12:32 ]
こういうことか!

switch(henkyakuchi) {
case 1: printf("きたー"); break;
case 2: puts("きたー"); break;
case 3: cout << "きたー"; break;
}

850 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:18:14 ]
>>843
switch (henkyakuti) {
case 1:
printf("0"); break;
case 2:
fputs("0", stdout); break;
case 3:
putchar('0'); break;
}


851 名前:850 mailto:sage [2008/03/12(水) 18:18:48 ]
ネタかぶったorz

852 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:35:01 ]
>>847
まあ全文じゃないけどな

>>848
スマン、ヒントが欲しかったんだ

>>849,850
そういうことなのか?

853 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:40:31 ]
全文載せないでまともなヒントあげれると思ってんの?
載せるなら宿題スレ池だが

854 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:45:01 ]
>>853
お前>>843読んでないだろ



855 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:11:36 ]
>>843 の文章だけでは題意が読み取れない
これが分かっただけでもいいんじゃないか?

っつーか問題の意図は出題者に聞けよ

856 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:24:25 ]
>>852
問題文を他人に意味が伝わるように要約できない=テメーが問題文の意味を理解していない







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

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

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