コンパイルエラー C2501 – 固定ページ 2 – プログラミング – Home

通知
すべてクリア

[解決済] コンパイルエラー C2501

固定ページ 2 / 4

Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> 参考にしているシングルドキュメントのソース
は公表できませんか?

> Doc.hは新規でクラスを作成しそこに書き込みました。
“なにを”書き込んだのでしょうか?
もしかして、~Doc.h をそのままコピペしたとか?

> CDatabaseExというのはクラスの名前ではありません。
んなわけないはずですが。
クラスでなければ、#defineかtypedef,enum,structでしょうか?
※MFCの場合 C~~ という名前はクラスとして命名することが多いようです。


返信引用
はな
 はな
(@はな)
ゲスト
結合: 22年前
投稿: 123
Topic starter  

>> 参考にしているシングルドキュメントのソース
>は公表できませんか?

公表というか、何を見せればいいのかわかりません。どこまでの情報をなのか。

>> Doc.hは新規でクラスを作成しそこに書き込みました。
>“なにを”書き込んだのでしょうか?
>もしかして、~Doc.h をそのままコピペしたとか?

作成に必要な『CDatabaseEx』関係のものを書き込みました。必要に応じて変更しなが
ら。

>> CDatabaseExというのはクラスの名前ではありません。
>んなわけないはずですが。
>クラスでなければ、#defineかtypedef,enum,structでしょうか?
>※MFCの場合 C~~ という名前はクラスとして命名することが多いようです。

自分の中でクラスというのは~.cpp と ~.hの ~の部分の名前になるものをクラス
と理解してるのですが。
つまり、CDatabaseEx.cpp CDatabaseEx.hというものがクラスかと。この二つはありませ
ん。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

かなり混乱しているようですが、
とりあえず、はなさん自身が今の状況をきちんと理解しない事には
掲示板を読んでいる方には雲を掴むような話です。

開示できるソースは開示してしまった方が話が早い場合があります。
あと、C++言語の基礎知識の方は大丈夫でしょうか?
どうもレスをつけている側とはなさんの話が噛み合っていない気がします。

掲示板は文字でしか内容が伝えられないので書き込まれた情報が全てです。
どの部分を伝えれば良いのかわからないのであれば、省略せずに開示した方が
話が直接的に伝わります。
ベストは関連箇所だけの開示ですが、関連箇所がわからないのであれば
全開示でも致し方ないかと。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> 自分の中でクラスというのは~.cpp と ~.hの ~の部分の名前になるものをクラ
> スと理解してるのですが。
それは、まったく違います。

class Foo
{
};

とあれば、Fooは間違いなくクラスです。

おそらく、

class CDatabaseEx : public CDatabase
{
// 省略
};

とでも、宣言しているのではないのでしょうか?
もしかして、問題はその宣言しているヘッダファイルのあるのかも。
(CDatabaseクラスは#include <afxdb.h>をインクルードしないとだめ)


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

> 自分の中でクラスというのは~.cpp と ~.hの ~の部分の名前になるものをクラス
と理解してるのですが。
> つまり、CDatabaseEx.cpp CDatabaseEx.hというものがクラスかと。この二つはありませ
ん。

では、CDatabaseExの宣言はいったい何処にあるのですか?
printfを使うためにstdio.hをインクルードすると言うのは、
stdio.hにprintfの宣言があるからですよ。
なぜインクルードすれば、使えるようになるのかをきちんと理解しないで
ただインクルードすれば使えると覚えていてもそれは理解した事にはなりません。
CDatabaseExをいうクラスを使いたいのであれば、それを宣言しているヘッダーファイル等が
必要です。なければ、クラスの内容がわかるはずがありません。
どうも、書き込みの内容からするとCDatabaseExが何者であるのかを
そもそも理解していないように見えます。
その状況では説明も出来ないでしょうし、掲示板を見ているこちらも
レスのつけようがありません。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

あと、CDatabaseExを言うクラスだからといって
ヘッダーファイルがCDatabaseEx.hとは限りません。
ヘッダーファイルの名前はどうにでも付けられますから。
ヘッダーファイルの名前でそのクラスの宣言があるかどうかは判断できませんよ。


返信引用
はな
 はな
(@はな)
ゲスト
結合: 22年前
投稿: 123
Topic starter  

>あと、C++言語の基礎知識の方は大丈夫でしょうか?

基礎はまだまだできていません。だからうまく説明できないのでしょう。

>ベストは関連箇所だけの開示ですが、関連箇所がわからないのであれば
>全開示でも致し方ないかと。

全開示はこちらの都合上どうしてもできません。個人のものではないので。


返信引用
はな
 はな
(@はな)
ゲスト
結合: 22年前
投稿: 123
Topic starter  

Blueさんもありがとうございます。

根本的な所からチェックしていきたいと思います。


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

> 全開示はこちらの都合上どうしてもできません。個人のものではないので。

では、事情を公開できる上司や同僚に相談するなりしてください。これがたぶん最善で
す。

酷な言い方かもしれませんが、少なくとも説明できたり、問題が切り分けられる
くらいまでは独力で勉強がんばってもらわないと、掲示板でどうにかできる
レベルではないと思われます。


返信引用
Fly
 Fly
(@Fly)
ゲスト
結合: 21年前
投稿: 11
 

最後に。

>ヘッダーをプラスしても同様のコンパイルエラーが出ました。

~Dlg.hに~Doc.hをincludeしてるんですよね??


返信引用
はな
 はな
(@はな)
ゲスト
結合: 22年前
投稿: 123
Topic starter  

>~Dlg.hに~Doc.hをincludeしてるんですよね??
そういう事になります。違うものをインクルードしないとダメだって事だと思います。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

ともかく、CDatabaseEx が宣言されたヘッダを見つけるべし。
それがないことには先に進まん。それがないのに頑張っても無意味。
# 単にヘッダ/ソースが足りないってオチ?


返信引用
Fly
 Fly
(@Fly)
ゲスト
結合: 21年前
投稿: 11
 

うーん、
~Dlg.hに~Doc.hをincludeしていて、
Blueさんの言うように、
#include <afxdb.h>を~Doc.hにincludeしているのであれば
ちょっと分からないっす><
お力になれず。。。m(__)m


返信引用
はな
 はな
(@はな)
ゲスト
結合: 22年前
投稿: 123
Topic starter  

PATIOさん

>かなり混乱しているようですが、
>とりあえず、はなさん自身が今の状況をきちんと理解しない事には
>掲示板を読んでいる方には雲を掴むような話です。

確かに、自分でも何がわからないかがわからないまま質問しているようなものです。

また、ヘッダーファイルや.cppのファイルについても理解がすすんだ気がします。

Blueさん、

>>?自分の中でクラスというのは~.cpp と ~.hの ~の部分の名前になるものをクラ
>> スと理解してるのですが。
>それは、まったく違います。

自分の勝手な思い込みで勘違いしていたようです。

>もしかして、問題はその宣言しているヘッダファイルのあるのかも。
>(CDatabaseクラスは#include <afxdb.h>をインクルードしないとだめ)

宣言しているファイルをもう一度見て、確認し、関連の箇所を見ていきたいと思いま
す。

Banさん、

>酷な言い方かもしれませんが、少なくとも説明できたり、問題が切り分けられる
>くらいまでは独力で勉強がんばってもらわないと、掲示板でどうにかできる
>レベルではないと思われます。

全くそのとおりだと思います。どんな勉強でもそうですが、少ない知識でわかった気に
なって質問しても結局その場しのぎになるだけで、その後にはつながりませんし、今後
はある程度自分でもわかる範囲できちんと説明できるようになってから質問したいと思
います。


返信引用
はな
 はな
(@はな)
ゲスト
結合: 22年前
投稿: 123
Topic starter  

επιστημηさん、明日以降もう少しがんばって探してみます。
もしかしたら足りないのかもしれません。

Flyさん、協力してもらってありがとうございました。
ちゃんとインクルードしてみます。


返信引用
固定ページ 2 / 4

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました