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

 タイトルの通りのエラーが出ました。
F1ボタンを押して、解説みたいなのも見て、括弧が原因みたいなことが書いてあったのですが、どうもうまくいかないみたいです。
 プログラムは載せる事ができないのですが、括弧以外にもC2601のエラーになる原因はあるのですか?
お願いします。
OSはWin XPで、 コンパイラは、VC++です。

A 回答 (3件)

#1です。

関数の中に関数を書きたいと言うことですが、mylib().func1()、mylib().func2() のような感じにしたいと言うことでしょうか?
もしそういうことであれば、C++を使ってみるのも良いかもしれません。

-------- サンプル ---------------------------------------
// ■ Sample.h
#pragma once

class Sample
{
public:
  Sample(int x, int y);

public:
  int Sum();
  int Subtract();

private:
  int x;
  int y;
};

---------------------------------------
// ■Sample.cpp
#include "Sample.h"

Sample::Sample(int x, int y)
{
  this->x = x;
  this->y = y;
}

int Sample::Sum()
{
  return x+y;
}

int Sample::Subtract()
{
  return x-y;
}

---------------------------------------
// ■Main.cpp(Sampleを使う方法)
#include <iostream>
#include "Sample.h"

using namespace std;

void main()
{
  // パターン1(スタック使用)
  Sample s(10, 20);
  cout << "Sum :" << s.Sum() << endl;
  cout << "Subtract :" << s.Subtract() << endl;

  // パターン2(ヒープ領域使用)
  Sample* p = new Sample(10, 20);
  cout << "Sum :" << p->Sum() << endl;
  cout << "Subtract :" << p->Subtract() << endl;
  delete p;
}

---------------------------------------
こんな感じで、Sampleクラスがfunc1()の代わりで、クラスの中にメンバ変数やメンバ関数を追加してゆけます。
    • good
    • 0
この回答へのお礼

C++は使えないんですよ…。
わざわざ、サンプルまで載せて頂いたにも関わらず、申し訳ないです。
回答ありがとうございました。

お礼日時:2005/11/17 16:18

>func1の中にfunc2を書きたい場合はどうすればよいのですか?



なぜそうしなければならないのかがさっぱりわからないのですが…

int func1()
{
...
func2()
...
}

static int func2()
{
...
}

という風にstaticの関数ではダメなのでしょうか。

とはいえ、それはそれとして、一応回答を。
C++では、ローカルクラスに関数を定義する方法でそれっぽいものが作れるようです。>参考URL
私はそこまでする必要性を感じないので、やったことはありませんが。

参考URL:http://www.fides.dti.ne.jp/~oka-t/cpplab-tips-1. …
    • good
    • 0
この回答へのお礼

 実行できました。
どうもありがとうございました。

お礼日時:2005/11/17 16:16

関数の中に関数を書こうとしている箇所はありませんか?



--サンプル-------------------------------------
void func1()
{
  int func2(){...} // 関数func1の中に、関数func2()は定義できません。
}

この回答への補足

 その通りです。関数の中に関数を書いていました・・・

--サンプル-------------------------------------
void func1()
{
  int func2(){...} // 関数func1の中に、関数func2()は定義できません。
}
例えば、このサンプルのようにfunc1の中にfunc2書きたい場合はどうすればよいのですか?

補足日時:2005/11/17 00:47
    • good
    • 0

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