トップページ⇒tech
1001コメント306KB

★初心者にVisual C++を教えるスレ★ Part5

■ このスレッドは過去ログ倉庫に格納されています
0001987NGNG
タイトルのとおり、
Visual C++ 初心者用スレッドです。

前スレ・関連スレは、>>2 ぐらい。
0002987NGNG
/** 前スレ **/
★初心者にVisual C++を教えるスレ★ Part4
http://pc2.2ch.net/test/read.cgi/tech/1044196393/l50

★初心者にVisual C++を教えるスレ★ Part3
http://pc2.2ch.net/test/read.cgi/tech/1038160750/l50

★初心者にVisual C++を教えるスレ★ (←実はPart2)
http://pc3.2ch.net/test/read.cgi/tech/1030985362/l50

★初心者にVisual C++を教えるスレ★
http://pc3.2ch.net/test/read.cgi/tech/1023530449/l50


/** 関連スレ **/
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
Windows Programing for C/C++(Not MFC)
http://pc2.2ch.net/test/read.cgi/tech/1018239290/l50
Win32API 質問箱 Build10
http://pc2.2ch.net/test/read.cgi/tech/1047819779/l50
C++相談室 part17
http://pc2.2ch.net/test/read.cgi/tech/1047560042/l50


/** 外部リンク **/
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/
0003デフォルトの名無しさんNGNG
以前あるスレで作られた初心者VC++スレ用テンプレ
質問・検索の仕方はここを見れ。
http://www.geocities.co.jp/Beautycare/4965/public/template.html
0004デフォルトの名無しさんNGNG
>>1
激しく乙。
0005デフォルトの名無しさんNGNG

乙

0006デフォルトの名無しさんNGNG
>>1
テンプレにぬるぽが入ってないので NG。
0007デフォルトの名無しさんNGNG
NGなのは藻前様の方だ!
   ( ・∀・)   | | ガッ 
  と    )    | |
    Y /ノ    人
     / )    <  >_∧∩
   _/し' //. V`Д´)/ ← >>6
  (_フ彡        /
0008デフォルトの名無しさんNGNG
C++初心者です、始めたばかりです、よろしくお願いします。
C言語自体初めてで、質問があります。
PERLの =~ s/hoge/ahya/;
のように文字列を置換するにはどのようにしたらいいんでしょうか?
必要なヘッダファイルと、関数を教えていただけたらありがたいです。
0009デフォルトの名無しさんNGNG
そんなもんあるのか?
0010デフォルトの名無しさんNGNG
boost::regex かね。
0011デフォルトの名無しさんNGNG
>>8
その正規表現ならCStringクラスできるぞ。

CString::Replace("hoge","ahya");

- 完
0012デフォルトの名無しさんNGNG
>>11
ありがとうございました......
来年から授業とる予定なのでやっぱVC++買った方がいいかもですね......
0013デフォルトの名無しさんNGNG
error C2555: 'LNil::=' : オーバーロードする仮想関数と 'LObject::=' の違いは戻り値の型です。
こんなエラーが出ました。
単純な例では再現することができなかませんでした。
解決策教えてください。お願いします。

http://member.nifty.ne.jp/~masumoto/cpp/vcbug/#SEC1
ここに解説あるんですが意味わからないです・・・
001413NGNG
MSDN
>派生クラスのオーバーライド関数を基本クラスの仮想関数から
>戻り値の型だけ変更して再定義することはできません。

とありますが、戻り値も引数も全く同じなのにこのエラーが発生しました。
001513NGNG
なんとか原因突き止めました。
>とありますが、戻り値も引数も全く同じなのにこのエラーが発生しました。
嘘でした(汗

class LObject
{
private:
public:
 LObject(){}
 ~LObject(){}
 virtual void print(std::ostream& a_ost) const;
 // ↓コイツのせい
 virtual const LBoolean& operator= (const LNil& a_nil);
};

class LNil : public LObject
{
private:
public:
 LNil(){}
 ~LNil(){}
 void print(std::ostream& a_ost) const{
  a_ost << "nil" << std::endl;
 }
 // ↓こんなのが暗黙の内に入れられるのかな
 // const LNil& operator= (const LNil& a_nil);
};

LNil::operator=は勝手にオーバーライドされてしまうのですね。
LNilではoperator=不要なので、どうにかなりませんかね?
0016デフォルトの名無しさんNGNG
>>15
正しくは
LNil& operator= (const LNil& a_nil);
が勝手に作られてるはず。
使わない場合は private メンバで宣言だけしとくのが定石。

ただ、この場合の問題は LObject の定義にある気がする。
operator==() と間違えてるんじゃない?
001713NGNG
>>16
ありがとうございます。
>正しくは
>LNil& operator= (const LNil& a_nil);
ちとボケてました(^^;
>使わない場合は private メンバで宣言だけしとくのが定石。
なるほど。
>ただ、この場合の問題は LObject の定義にある気がする。
確かに・・・
かなり馬鹿な事やって穴に嵌ってしまいました。
別に==と間違えていたわけではありません。(^^;
0018デフォルトの名無しさんNGNG
すみません。ド素人すぎてどう質問していいかもよくわかんないんですが
例えば、CDialogを基底にしたクラスの中でSendMessageを使おうとすると
CWndのSendMessage
SendMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );
が呼ばれるんですよねぇ?
それじゃなくってAPIのSendMessage
SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );
を呼び出すことってできないんでしょうか?
0019尚NGNG
今VCを勉強しています。
私はよくエクセルを使うのですが、
VCでdll作って、それをエクセルから呼び出して使用することをできますか?
可能ならば、どのようにすればいいか、あるいはどのような書籍を読めばよいか
教えていただけませんか。
0020デフォルトの名無しさんNGNG
>>18
::SendMessage
じゃ駄目なのか?
002118NGNG
>>20
あ、そうやればいいんですか!
ありがとうございました!('-'*)アリガト♪
0022デフォルトの名無しさんNGNG
>>19
COMを勉強すればOK。
0023デフォルトの名無しさんNGNG
VC++6.0のスタンダードエディションで作成したソフトはフリーソフトとして公開してもよいですか?
0024デフォルトの名無しさんNGNG
よい。
0025デフォルトの名無しさんNGNG
VC++.NETはDelphiのようにRAD風ツールになったと聞いたのですが
コンポーネントもつくれますか?
0026デフォルトの名無しさんNGNG
>>25
答える前に確認しておきたい。
誰に聞いたの?
0027デフォルトの名無しさんNGNG
>>24
調べてみました。MFCがスタティックリンクできないみたいですね。
まあ、使わないからいいけど。
0028デフォルトの名無しさんNGNG
>>26
いつもロリ画像をくれる坂田さんです
0029デフォルトの名無しさんNGNG
WinXP + VC6で

リンク中...
LINK : fatal error LNK1212: プログラム データベースを開く際のエラーです、ファイルは使用中です
link.exe の実行エラー

といわれたのですが、何が悪いのでしょうか?
どうすれば直りますか?
0030デフォルトの名無しさんNGNG
>>26
じゃあその坂田さんとは、
ロリ画像をもらうだけの付き合いにした方が良いよ。
たぶんC#と勘違いしている。
■ このスレッドは過去ログ倉庫に格納されています