ページ 11

自作関数の中で別の自作関数を使いたい

Posted: 2013年1月14日(月) 10:18
by 史上最悪のデスペナ
externを使うのかとdxlib.hを見ていて思ったのでネットで調べたのですが分からなかったので質問させてください。

コード:

//A.h
#pragma once

class A
{
public:
    void FuncA();
};

//B.h
#pragma once

class B
{
public:
    void FuncB();
}
という二つのヘッダーファイルに定義された関数があったとします。
この時、FuncB()内でFuncA()を使用したいのですが

コード:

#include "B.h"
#include "A.h"

A a;
void B::FuncB()
{
    a.FuncA();
}
とやると、Main.objで既に宣言されているとかどうとかって出ます
どのようにしたらクラス内に定義した関数内で別のクラス内関数を使用できるのでしょうか?

Re: 自作関数の中で別の自作関数を使いたい

Posted: 2013年1月14日(月) 10:24
by h2so5
FuncA()の実体はどこに書かれているんでしょうか

Re: 自作関数の中で別の自作関数を使いたい

Posted: 2013年1月14日(月) 11:09
by softya(ソフト屋)
コードの種別が違いますね。code=cppですのでご注意を。

>とやると、Main.objで既に宣言されているとかどうとかって出ます

これはC++だからではなく、C言語でも起こる問題に引っかかっているのでは?
ソースコードを全部見せてください。

Re: 自作関数の中で別の自作関数を使いたい

Posted: 2013年1月14日(月) 13:11
by 史上最悪のデスペナ
綺麗なプロジェクトを作ってやってみたらエラーが出ませんでした。
もう一度見直してみようと思います。
ご迷惑をおかけしました

Re: 自作関数の中で別の自作関数を使いたい

Posted: 2013年1月14日(月) 17:36
by ISLe
インスタンスと関係なく利用できるメンバ関数ならstaticであるべきですし、インスタンスと関係あるのなら確実にバグる気がしますけど。

Re: 自作関数の中で別の自作関数を使いたい

Posted: 2013年1月14日(月) 17:38
by softya(ソフト屋)
ISLe さんが書きました:インスタンスと関係なく利用できるメンバ関数ならstaticであるべきですし、インスタンスと関係あるのなら確実にバグる気がしますけど。
クラスである必要もないのでは?