
こんにちは。
初心者ですが、よろしくお願いします。
MFCを使用してダイアログベースのアプリケーションを作成しています。
<ヘッダ>
class Sample : public CDialog
{
(略)
public:
int SampleA(CString);
(略)
<ソース>
UINT SampleB(LPVOID pParam)
{
int n;
n = Sample::SampleA(CStringA) ←エラー
return 0;
}
メンバ関数ではない、SampleBから、上記のように呼出すと、「静的でないメンバ関数の中で呼び出しが正しくありません。」というエラーが表示されてしまいます。
ヘッダ内のメンバ関数宣言をstaticにすれば問題は解決できるのですが、このやり方しかないのでしょうか。
よろしくお願いします。
No.4
- 回答日時:
なぜstaticでは駄目なのでしょう?
その理由はともかく、特定のインスタンスに依存しないのであれば、メンバ関数にする必要もないのでは?
privateメンバ等にアクセスする必要があるなら、friend関数でもOKかと。
ご回答ありがとうございます。
クラスそのものを使用することはできず、
インスタンスを生成しないといけないということは
頭の片隅に入っていたのですが、
忘れてしまっていました。
もっと勉強してみます。
ありがとうございました。
No.1
- 回答日時:
C++ではオブジェクトというものを意識しなければいけません。
Sampleクラスはそのままでは使えません。
Sampleクラスのオブジェクトを生成しなければいけません。
int n;
Sample smp = new Sample();
n = smp.SampleA(...)
うーん、クラスの概念とオブジェクト指向に関して少し勉強されてみては?
ご回答ありがとうございます。
クラスそのものを使用することはできず、
インスタンスを生成しないといけないということは
頭の片隅に入っていたのですが、
忘れてしまっていました。
もっと勉強してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メソッドの引数としてのthisの意味
-
private static という変数の修飾
-
クラス、インスタンス、オブジ...
-
他のファイルの変数参照
-
クラスのメンバ関数の呼出しに...
-
PHPExcel使用で2枚目のシートを...
-
サーブレットでレスポンスが返...
-
VB.NET getとsetの概念がわかり...
-
Delphiでインスタンスが作成さ...
-
VB.netで標準モジュールからフ...
-
別のフォームでインスタンスを使う
-
教えてください。
-
javaのswingで、JLabelを継承し...
-
整数0を値とするBigDecimal
-
Systemクラスはインスタンスが...
-
javaのクラスの作り方、エラー...
-
次の日本語の意味を教えて下さい
-
Form1上にあるTextBox1を Modul...
-
DLLをアセンブリとして読み込み...
-
プログラミング、シューティン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オブジェクト参照がオブジェク...
-
private static という変数の修飾
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
C#において、同じインスタンス...
-
インスタンス参照でアクセスで...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
VB.NET getとsetの概念がわかり...
-
変数の参照でエラーが出てしま...
-
フォームの存在をチェックする方法
-
「インスタンス」の意味をわか...
-
[Visual C#] 優先される処理に...
-
javaのクラスの作り方、エラー...
-
クラスのインスタンス名をクラ...
-
C#の構造体の開放のしかた
-
エクセル(複数インスタンス)...
-
VB6.0で、DLLを動的に参照したい
-
C#「オブジェクト参照が必要で...
-
vb.netでFAXを送信する方法
おすすめ情報