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


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

C/C++小心者スレッドPart1



1 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 06:18:18 ]
プログラミング言語C/C++についての、小心者向けスレです。質問・要望・雑談などどうぞ。
関連スレやURLは>>2以降。

■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
 ・ぐぐる
 ・マニュアルで探す 
 ・FAQを読む 例えば www.bohyoh.com/CandCPP/FAQ/index.html
質問には以下を書くこと。へたくそな質問は再提出を要求される。
 ・詳しい内容(「動きません」「うまくできません」では回答しようがない)
 ・エラーメッセージ(なるべくそのままで)
 ・実行環境(OS名、コンパイラ名)
 ・最終的にやりたいこと(もっとよい方法がある場合が多いので)
回答してくれた人には「ありがとう」のひとことをいってあげて。

■回答する人へ 
相手は小心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって小心者スレだもん)。
 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。


宗教的な話題は禁止します。


29 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 15:13:43 ]
hoge[n]

30 名前:デフォルトの名無しさん [2007/09/29(土) 08:13:39 ]
>>29
うまくいきました。本当にありがとうございました。

31 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 21:49:32 ]
ぬっちゃけ回答者ってプロ級の人ばかり?


32 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 22:01:02 ]
いいえ

33 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 23:23:20 ]
プログラミングについて色々お話聞かせて><

34 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:54:59 ]
まだC/C++勉強してんの?

35 名前:デフォルトの名無しさん [2008/02/19(火) 11:59:22 ]
一次元の配列を同じ値で埋めたいのですが、何か高速な方法はありませんか?

36 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 12:05:46 ]
array[10] = {0}
じゃ駄目かい

37 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:09:38 ]
coutで出力するときに最初にたとえば
processing
って表示して
processing.
processing..
processing...
みたいに一文字ずつ書き足していきたいんだけどまじめにどうしたらいい?
cout<<"."とかputchar('.')で実行すると、改行がくるまでターミナルに表示されなくて困ってます。



38 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:16:23 ]
cerrはバッファリング無しだからどうか

39 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:17:39 ]
std::cout << std::flush でいけたような

40 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 02:43:53 ]
>>38
>>39
エラー出力とバッファリングのメンバー変数(?)ですよね。
勉強になりました。dクス

41 名前:デフォルトの名無しさん [2008/03/29(土) 13:33:03 ]
cstringとstringって何が違うのですか?

42 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 15:49:32 ]
<string.h>と<cstring>はほぼ同じもので、
cの標準ライブラリ(strcatとかstrcpy)が宣言されている
前者は大域名前空間になる
stringはC++の文字列ライブラリで<string>に宣言されている
CStringはまた別のライブラリ
で、だいたいあってると思うw 確認してないが
それぞれの使い方は調べれ

43 名前:デフォルトの名無しさん [2008/04/29(火) 19:07:22 ]
メールソフトはタイムゾーンをどのようにして取得しているのでしょうか?
独自にテーブルを持っているのでしょうか?
それともOSから取得できるのでしょうか?

44 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 00:46:51 ]
<開発環境>[OS:WinXP SP2][コンパイラ:VC++2005 Pro]
<やりたいこと>PC(WinXP pro)の特定ソフトを特定のIPアドレスにアクセスさせたくない。
<前提条件>ルーターではなにもしてはいけない(ソフトで解決すること)
<調べたこと>IPHLPAPIでルーティングテーブルをいじって対応? ルーティングテーブルのゲートウェイをありえないところにする?
これだとすべてのソフトでIPアドレスにアクセスできなくなるが、、、。

上記、ヒントなりをいただければと思います。

45 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 00:58:42 ]
>>44
・まともなセキュリティソフトをインストールして個別設定でそのアプリの動作を制御する。
・そのアプリを改修する。
・諦める。

46 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 01:07:24 ]
>>45 
早速の返信ありがとうございます。

>・まともなセキュリティソフトをインストールして個別設定でそのアプリの動作を制御する。
セキュリティソフトについてはすでに導入しているのですが、
設定しても恐らく、"その設定自体をユーザーが変えてしまう"ことが予想されます。

>・そのアプリを改修する。
現状問題となっているアプリケーションは、P2Pソフトだったり、ゲームだったりと多岐にわたります。
(説明不足で申し訳ありません)

>・諦める。
orz

47 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 01:14:52 ]
> その設定自体をユーザーが変えてしまう
お前の作るソフトウェアも同じだろ。
設定を変えられないとしても、強制終了されればおしまい。

ただ、ユーザが管理者 (Administrators)でないと仮定できるなら、
どのソフトでも結構いける。その手のソフトは
たいてい管理者しか設定をいじれないようにできるはずだから。
サービスなんかにしてしまえばただのユーザは終了させることもできない。




48 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 01:44:48 ]
>>47
返信ありがとうございます。

>お前の作るソフトウェアも同じだろ。
おっしゃる通りです、、、orz

>ただ、ユーザが管理者 (Administrators)でないと仮定できるなら、
ユーザーはAdminです、、、orz
すでにこの段階で問題なのかも知れません。


もう少しなにかいい方法がないか思案してみます、、、。

49 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 03:53:28 ]
企業だったら、セキュリティコンサルに相談することお勧め。
最近は、ログ解析だけを定期的に行なうなんてことをするコンサルもあることだし。

50 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 14:25:35 ]
>>49
返信ありがとうございます。

コンサル入れたりするのも1つかもしれません。
検討してみます。


現状、IPHLPAPIを使用して
GetTcpTableを使い、定期的に監視して、
あらかじめ用意したブラックリストと照らし合わせ、SetTcpTableでアクセスできないようにすることをやってみます。
(サービス用アプリとして作成して様子をみます)


51 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 13:36:21 ]
Visual C++ 2008 Express Editionのコンソールアプリプロジェクトで
using namespace std;
を使うにはどうしたら良いのでしょうか。

stdafx.hに書くと「C2871: 'std' : この名前を指定された名前空間は存在しません。」と怒られます。

ソールファイルに
std::cout << "orz" << endl;
などど書いても「C2653: 'std' : 識別子がクラス名でも名前空間名でもありません。」と怒られます。

空のプロジェクトで一から書くと出来るようですが、Unicodeアプリにならないので困っています。

52 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 13:49:42 ]
>>51
標準C++ライブラリをなにかインクルードしてるか?

53 名前:51 mailto:sage [2008/05/03(土) 14:50:25 ]
標準C++ライブラリが具体的に何を指すのかは解りませんが、stdafx.hに以下内容を追記したらコンパイルが通りました。
初歩過ぎる質問に答えていただき本当にありがとうございました。

#include <iostream>
using namespace std;

54 名前:デフォルトの名無しさん [2008/07/13(日) 19:48:30 ]
ユニークな名前ってどうやって生成するの?

55 名前:デフォルトの名無しさん [2008/07/13(日) 19:59:03 ]

ひらめきが大事だね。


56 名前:デフォルトの名無しさん [2008/08/05(火) 15:26:30 ]
どのクラスにでも当てはまりそうな戻り値はどのように管理するのが一般的なのでしょうか?
例としては無効な引数、〜が見つからない、致命的なエラーなどです。

クラス毎に static const 〜 としてもいいのですが、同じ値に保つのが面倒になりそうだし、、、

専用のクラスを作り下記のようにしようかと考えたのですが、スマートではない気がしています。
皆さんはどうされていますか? よろしくお願いします。


class CResultCode {
static const int s_success = 1;
static const int s_falal_error = -1;
static const int s_invalid_param = -2;
static const int s_file_not_found = -10;

static bool IsSuccessful(int in_result) { return in_result > 0; };
};

class CHoge {
int Hoge(){ return CResultCode::s_successed; };
};


void main() {
CHoge hoge;
int res = hoge->Hoge();
if ( !CResultCode::IsSuccessful(res)){
エラー処理
  }
}


57 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 15:52:09 ]
// cost.h //
extern PGDLLIMPORT double seq_page_cost;;

を含むヘッダーファイルがあり,PGDLLIMPORTはべつのヘッダーで
#define PGDLLIMPORT __declspec (dllexport)
と定義されてます

これをcostsize.cというファイルにインクルードしてるんですが.
extern PGDLLIMPORT double seq_page_cost;;
ってどういう意味なのかわかりません
どういう意味を持つのか教えてください.
お願いします.
ちなみに __declspec (dllexport)で調べてもようわかりませんでした




58 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:19:11 ]
>>56 enum

59 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:21:13 ]
>>57
> ちなみに __declspec (dllexport)で調べてもようわかりませんでした
↓このサイトがおすすめ。
www.google.co.jp/search?q=declspec+dllexport

60 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:39:28 ]
それで判るくらいだったら聞かねぇよ!

61 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:45:50 ]
公式のドキュメントも使ってる人の記事もいっぱいヒットするのに、
それ以上の説明がここでできるとは思わない。

62 名前:56 mailto:sage [2008/08/05(火) 19:11:19 ]
>>58
ありがとうございます。 度々すいませんが、その場合は専用のnamespaceを設けてという事でしょうか?
それともヘッダ1つ増やして個々にインクルードするだけで良いのですか?

となると、成否判定に#defineマクロを使いたくなってしまうのですが許されるのでしょうか。。。
「C++ならdefine使うな」って怒られたりしませんか…? よろしくお願いします。





63 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:20:07 ]
>>59
レスどうも
すでに試してまして・・・
で,いかんせん,どこの何というDLLから何を
エクスポートしてるのか,てんでわからんのです

64 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:22:11 ]
>>62
ResultCodeクラスを作るなら、戻り値を整数型にしないでResultCode型にしちゃえばいいじゃん。
で、適当なキャストオペレータを用意しておけば成否判定に使えるし。

65 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:23:14 ]
>>63
>57と>63で質問していることが全然違うわけだが。

66 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:32:06 ]
>>65
自分初心者なもので
質問に一貫性が無いのは,すいません
なんというか両方答えて頂ければと思うんですが…

67 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:48:21 ]
>>57
>どういう意味を持つのか教えてください.
どこぞの何とかいうDLLから何ぞやをエクスポート

>>63
>で,いかんせん,どこの何というDLLから何を
>エクスポートしてるのか,てんでわからんのです
costsize.cで作られるDLLからseq_page_costを



68 名前:56,62 mailto:sage [2008/08/05(火) 23:44:56 ]
>>64
ありがとうございます。そうしていこうと思います。
値渡しで返して嫌がられたりする事はあるのでしょうか? ← ここが一番心配なのです。
最適化すれば一時オブジェクトは作られないのかなあ…

69 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:51:25 ]
ResultCodeクラスにメンバなんかenum値一個しか要らんでしょ。
そんなもん値渡ししたって参照よりもコンパクトなくらいだ。

70 名前:68 mailto:sage [2008/08/06(水) 00:01:01 ]
>>69
お蔭で解決する事が出来ました。 何度もありがとうございました。  

71 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 08:29:05 ]
int *p = new int [4];
の時
delete [] p;
delete p;
って使い分けないといけないの?

72 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 08:39:40 ]
>>71
new[] の場合は delete[]
使い分けないといけない

73 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 08:45:23 ]
>>72
さんくす

74 名前:デフォルトの名無しさん [2008/08/18(月) 13:19:15 ]
delete p;
だと1個目しか消せない。


75 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 13:22:42 ]
そうなんか?

そう書き間違えた場合の、文法チェックとか、メモリリーク調査とか、可能?

76 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 13:25:37 ]
>>74
ダウト
処理系によってはコア吐くぞ

77 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 08:54:58 ]
intならデストラクタが無いからどっちも同じ



78 名前:デフォルトの名無しさん [2008/08/20(水) 08:56:18 ]
どっちも同じってことはない。


79 名前:デフォルトの名無しさん [2008/08/20(水) 09:57:39 ]
Visual C++ 2008 ではC++でなくCのコンパイルできないの?

80 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 10:38:50 ]
できるよ

81 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 10:48:53 ]
CLRにするとC++/CLI専用になるから *.c はコンパイルできない。
Win32のプロジェクトならできる。

82 名前:デフォルトの名無しさん [2008/08/20(水) 11:53:10 ]
サンクス

83 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:17:31 ]
>>74
未定義じゃない?ANSIの仕様とか読んでないけど
処理系によってはdeleteとdelete[]が等価だったりするし

84 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 01:12:31 ]
PCモニタをオフにするようなコードって,どうやって書けば良いんでしょうか?
下のフリーソフト,アセンブラで見たらWindowsAPIのKernel32.Sleep呼んでるみたいですけど・・・

ttp://hp.vector.co.jp/authors/VA036558/app/dispoff.zip

85 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 03:01:07 ]
>>83
うん。未定義。

86 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 09:12:35 ]
>>84
うろ覚えだが
PostMessage(HWND_BROAD_CAST, WM_COMMAND, MONITOR_OFF)みたいな感じで。

87 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 12:26:14 ]
>>86
ありがとうございます!やってみます。



88 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 12:32:13 ]
>>86
SendMessageで出来ました。引数はもろにそんな感じでした。
Sleepは一休みしてから電源オフに持ってくためだったんですね。。。

あと,モニタ電源オフの状態からオンに復帰するときに,
マウスの移動は無視して,
マウスのクリックやキーを押すときのみに反応するコードはどんな風に書けばいいんでしょうか?
誰かやさしい人おしえてください。

89 名前:86 mailto:sage [2008/08/22(金) 20:34:20 ]
>>88
ちょうどそんなフリーソフトを作った。(でもしばらく公開予定はない。)
自分は以下のような方法を使ってる。

・モニタをオフに
・グローバルフックでマウスの操作を監視
・マウスの移動を検地した場合はモニタをオフにする

90 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:35:59 ]
>>89
一体いつモニタをオンにするんだ?

91 名前:86 mailto:sage [2008/08/23(土) 00:05:54 ]
>>90
プログラムでオンにする必要はない。マウスのボタン押下やキー押下で勝手にオンになるから。

92 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:31:45 ]
int main()
{
unsigned char *s; // 文字列用ポインタ用意

s = "Test";

・・・・
・・・
・・

このようなプログラムがあるのですが、二つほど質問があります。
unsignedでchar型を宣言すると、何かいいことがあるのでしょうか?
また、参考本には載っていなかったのですがこのような文字列の
代入方法は正しいのでしょうか?文字配列を用意して、strcpyで代入するとしか載ってなかったので…

93 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 13:19:11 ]
>>91
>・マウスの移動を検地した場合はモニタをオフにする
オンではなくてオフ?

94 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 13:29:57 ]
>>93
>90、>91

>>92
sはローカルな文字列ではなくて、只のポインタ変数。だから、実際にはconst unsigned char * sということになる。
# つまり、s = "Test"の後でs[0] = 't'とはしてはいけない。
尚、charをunsignedで宣言しておくと、標準関数を呼ぶたびに(厳密には)キャストが必要になるので巧くない。
その代わり、2バイト文字などを扱うときに多少扱いやすくなる。

95 名前:86 mailto:sage [2008/08/23(土) 15:17:23 ]
>>93
>>88
>>あと,モニタ電源オフの状態からオンに復帰するときに,
>>マウスの移動は無視して,

マウスの移動があるとオンになっちゃうからオフにする。

96 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:42:47 ]
>>92
実質的な違いはない。後の処理の関係でどっちにするか選ぶとかその程度。

>>94
>sはローカルな文字列ではなくて、只のポインタ変数。だから、実際にはconst unsigned char * sということになる。
ちがうよね?

97 名前:96 mailto:sage [2008/08/23(土) 19:44:58 ]
>>92
さっきのは「unsignedでchar型を...」のみの回答でした。

>このような文字列の代入方法は正しいのでしょうか?
正しいです。



98 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:52:38 ]
正しいし便利なのでオススメ

99 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:12:12 ]
>>89
モニターの電源切っておけばいいんじゃね?

100 名前:86 mailto:sage [2008/08/24(日) 11:33:50 ]
>>99
マウス・キーボード操作でONにならない状態にするってことだよね。
調べた範囲では無理そうだった。
もしかしたら低レベルな方法であるのかも知れないけど。

それにこの場合マウスの移動だけ無視したいので、
マウス操作の監視は必須で、手間は変わらないと思う。

101 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 20:41:41 ]
一時的にマウスのドライバを無効にしとくのはどう?
クリックも無視していい状況だよね?

102 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 21:02:48 ]
難しそうだお

103 名前:86 mailto:sage [2008/08/24(日) 21:24:58 ]
>>101
>>88
クリックは無視しちゃだめ

104 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 22:19:27 ]
そうか、マウスのクリックでもモニタの電源ONになるのか
知らなかった

105 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 22:32:36 ]
>>95
>マウスの移動があるとオンになっちゃうからオフにする。
な〜るほどね!うまい。


106 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 01:15:51 ]
俺はCoolMonitorOffってソフトを使ってて>>86はその作者かと思ったんだけど、
>>89で(でもしばらく公開予定はない。) とあるから別人か。

Pauseキーに割り当てて愛用してるよ。作者さんありがとーね。見てないだろうけど。

107 名前:86 mailto:sage [2008/08/25(月) 18:57:42 ]
>>106
うん。別人。CoolMonitorOffは知らなかったんだけど似てるな。
コマンドライン引数でモニタオフにするまでの時間の指定やWindowsのロック、
マウス移動での復帰有無などを指定できるようにしてる。

公開して色んな人に使ってもらいたいんだけど、
やり方知らないのと、面倒そうなんでやってないんだよね。
そのうち自分のホームページ作って公開しようかなと考え中。

欲しかったらよかったらあげるよ。ソースもつけて。



108 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 21:28:21 ]
>>107
ソース見てみたいです。ください。

109 名前:86 mailto:sage [2008/08/26(火) 10:31:42 ]
>>108

アップしました。

ttp://a-draw.com/uploader/upload.html
ミニアップローダ(〜20MB)の up4006.zip
pass:dispoff

110 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 23:49:05 ]
>>109
ありがとう。
「アプリケーションが初期化できませんでした。エラー0xc015002〜」
とでるんですが,原因はなんでしょうか。

111 名前:86 mailto:sage [2008/08/27(水) 20:22:16 ]
>>110
dllとexeでリンクするランタイムのタイプが違ってた。これかな。なぜか自分の環境では動くけど。

修正して再アップしました。

ttp://www.hsjp.net/upload/index.html
up38638.zip
パスワード:なし

112 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 02:04:33 ]
>>111
な〜るほどね!ソースみて納得。勉強になりました。ありがとう。

113 名前:デフォルトの名無しさん [2008/09/02(火) 21:57:31 ]
Windows用USBデバイスのインストーラ及びアンインストーラをVCで
作ってます。
汎用性を持たせるためにinf及びdelファイルを書き換えるだけで
インストーラ、アンインストーラは再コンパイル不要とした作りに
したいと思っています。
そこで、特定のINFファイルから"USB\VID_xxxx&PID_xxxx"を
抜き出して行うような方式としたいとおもうのですがなにか
方法(Win32 API)は無いでしょうか。


114 名前:113 [2008/09/02(火) 22:28:12 ]
デバドラ板で質問してみます。

115 名前:デフォルトの名無しさん [2008/09/06(土) 22:55:49 ]
C#がWindowsプログラミングし易いのはわかっているけど、
もうC++にどっぷり浸かっているから。

Javaは演算子のオーバーロードがないから、複素数計算では
致命的だし。

でも、C++0xでまた仕様が大幅にかわるのかな。もういいかげ
んにしてほしいな。

116 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:13:09 ]
C++のことだし、建前としては今までのプログラムも
そのままコンパイルできるってことになっているはず。

117 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:17:27 ]
std::string name = "unko";
std::cout << "name = " << name << std::endl;

error C2679: 二項演算子 '<<' : 型 'std::string' の右オペランドを扱う演算子が見つかりません (または変換できません)。

コンパイルできません。なにこれ。



118 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:18:58 ]
>>115
仕様が大きく変わった場合、書き直しを辞さないほどのよっぽど有益なメリットが無い限り普及なんてしない。安心して良し。


119 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:22:55 ]
>>117
1行目を読んで、続きを読む気力が失せた

120 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:27:56 ]
>>117
#include <string> 抜けてない?

121 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:32:05 ]
>>120
書いてないですが、std::string はコンパイルエラーになってないので大丈夫です。

122 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:35:42 ]
>>121
「書いてないですが」とかそういう問題じゃない。書け。

123 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:37:27 ]
>>121
現に<<でエラーになっているじゃないか。全然大丈夫じゃないだろ。

124 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 00:43:05 ]
あまりいじめないでsください

125 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 03:55:34 ]
つ[s]

126 名前:デフォルトの名無しさん [2008/09/07(日) 07:55:24 ]
C++はまったく糞だな

127 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 10:13:52 ]
おまえがな



128 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:15:09 ]
char c[ 12 ]; // ok

const int dim = 12;
char c[ dim ]; // ok

int x = 12;
const int y = x;
char c[ y ]; // error !

「配列の要素数はコンパイル時に決められていなければならない」
っていうのの意味がわからん・・・ ・_・

129 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:29:05 ]
>>128
コンパイラの気持ちになって出力するアセンブリコードを考えないと、確かにわかんないだろうねぇ。
そういう制約が嫌なら std::vector を使っておけばいいよ。






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

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

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