アプリ版:「スタンプのみでお礼する」機能のリリースについて

VC++プログラムです
ボタン1,2は正常に動いたので割愛させていただきます
この文をビルドしたらエラーがでました
void CparaparaDlg::OnBnClickedButton3(){
{

CPaintDC dc (this);
CRect sikaku;
GetClientRect (sikaku);

int n;
CBitmap gazou[2];



int CparaparaDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
gazou[0].LoadBitmap(IDB_BITMAP1);
gazou[1].LoadBitmap(IDB_BITMAP2);

n = 1;
SetTimer(1, 200, NULL);
return 0;
}
void CparaparaDlg::OnTimer(UINT nIDEvent)
{
n = n + 1;
if(n >= 3){
n = 1;
}
Invalidate();
if(n == 1){
OnBnClickedButton1();
}
else if (n == 2){
OnBnClickedButton2();
}
}
}


error C2601: 'CWnd::OnCreate' : ローカル関数の定義が正しくありません。
c:\Documents and Settings\mizuno\My Documents\Visual Studio error C2601: 'CWnd::OnTimer' : ローカル関数の定義が正しくありません。
というエラーが出ました・・・
どこをどう手直しすればよいのか教えていただける方、お願いします
関数についても教えていただけると幸いです

A 回答 (3件)

> void CparaparaDlg::OnBnClickedButton3(){


> {

開き中カッコ「{」が2つ書かれています。
それからこの関数の閉じ中カッコ「}」がありません。
写し間違えなら、その旨補足してください。
    • good
    • 1
この回答へのお礼

ありがとうございます。
直せたのですが。。
今度は違うエラーが出ました・・・
error C2511: 'int CparaparaDlg::OnCreate(LPCREATESTRUCT)' : オーバーロードされたメンバ関数が 'CparaparaDlg' にありません。
使っている場所は
メインで
int CparaparaDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
int n;
CBitmap gazou[2];

gazou[0].LoadBitmap(IDB_BITMAP1);
gazou[1].LoadBitmap(IDB_BITMAP2);

n = 1;
SetTimer(1, 200, NULL);
return 0;
}
int CparaparaDlg::OnCreate(void)
{
return 0;
}

とヘッダファイルは
int OnCreate(void);でした

お礼日時:2007/01/19 15:24

> 今度は違うエラーが出ました・・・



ヘッダファイルに
 int OnCreate(LPCREATESTRUCT lpCreateStruct);
が無いからだと思います。

C++の文法は理解していますか?
 CparaparaDlg::OnCreate(void)
 CparaparaDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
この2つは関数名が同じでも、引数が違うので全く別物です。
なので、ヘッダのクラス定義には両方書かないといけません。
    • good
    • 1

「error C2601」や「error C2511」は、よくあるエラーです。


まずは、ヘルプで確認することをお勧めします。
エラーのところにカーソルを持っていって、「F1」キーでヘルプが出ます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!