エラーの対処方法 – プログラミング – Home

通知
すべてクリア

[解決済] エラーの対処方法


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

WinXPのVC++6.0です。
かなり基本的な質問ですいませんが、

CAAAView::~CAAAView()
{
delete_ptr(m_datas);
}

例えば、上記のような文があったとして、エラーの内容に’delete_ptr’:定義されて
いない識別子です。

と、あったらたんなるスペルミスという事なのでしょうか??それとも、変数や関数を追
加することで解決するのでしょうか?


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

コンパイラに対して、「delete_ptr」という関数が何であるかを教えてあげれば解決す
るでしょう。

つまり
> 関数を追加することで解決する

delete_ptr が何なのかは知りませんが。(標準ではないはず)

どっかから拾ってきたソースや、誰かが作ったソースをいじっているのであるならば
どこかに delete_ptr の宣言および定義が存在するはず。


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

delete_ptrが検索かけてもひっかからないんですよね。ある、ソースを参考にしながら
やっているのですが、そちらでは一箇所にしかdelete_ptrがなく(検索をかけるとそこの
みにヒット)、宣言している気配がありません。参考にしているソースはきちんとコンパ
イルが通っています。
もう少し慎重に探してはみますが…。

また、関数を追加してやってみます。


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

’delete_ptr’:定義されていない識別子です。

というのはそのまんまの意味で、コンパイラに対してdelete_ptrが何者なのか
予め教えていないという事です。

単なるスペルミスでもありえますし、
インクルードするべきヘッダーファイルがインクルードされていないような場合でも
ありえます。
基本的にはエラーメッセージの内容を素直に受け取って
ありえる可能性を片っ端からチェックしていくというのが普通の方法です。
ある程度慣れてくると自分のミスの傾向が見えてくるので検討がつけやすくは
なりますが、あくまでも傾向なのでそれに拘りすぎると実際には簡単なミスなのに
はまり込んでしまう事もあります。
まあ、コンパイルデバッグは地道にやるしかないですね。
これは誰がやっても同じです。


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

関数を追加する場合はその関数が何をやっているのか実装を知らないと
追加できませんが、その辺は把握されているのでしょうか?

あと、インクルードファイルの線もありますからそちらもチェックしないと駄目ですよ。
単にコンパイルを通す為だけに関数を追加するような行為は駄目です。
関数を追加するという行為が本当に必要なら問題ないですけれど、
書かれている内容から想像する限りでは必要な行為とは考えにくいです。


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

> ある、ソースを参考にしながら
> やっているのですが、そちらでは一箇所にしかdelete_ptrがなく(検索をかけるとそこ
> のみにヒット)、宣言している気配がありません。参考にしているソースはきちんとコ
> ンパイルが通っています。

では、デバッガを使って、探してみてはどうでしょうか?
delete_ptr にブレイクポイントを張って、ステップインするとか、コールスタックをさ
かのぼってみるとか。

検索するにしても、delete_ptrを使っているソースだけでなく、includeしているヘッダ
ファイル等も含めて検索しましょう。(普通はVCのgrep検索を使うのですが。)


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

ビルド時にエラーがでた場合は、質問する前にVC付属のMSDNで
エラーを検索しましょう。
アルファベット1文字の数字4桁を調べれば説明がでています。
今回は「C2065」だと思います。


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

>delete_ptr
が何であるのか不明なら

>CAAAView::~CAAAView()
は何をすべき関数なのか考えれば良いではないでしょうか?

>m_datas
を何らかの状態にする事を目的としてると思われます

他人が「delete_ptr」どういう目的で作った関数なのか考えると
代替を自分で用意すると考えても良いのではないでしょうか?

とりあえづ、コンパイルを通せなければ、実行デバックはありえませんからね
ダミー作って、コールスタックするのも良いかもしれませんね


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

PATIOさん、ヘッダーファイルの方も含めて検討、調査してみます。確かに、さっ
きまで他のエラーが出ていた箇所は簡単なミスが大半でした(入力ミスなど)
その関数が何をしているものなのかは把握しています。また、関数の追加の必要性がな
いのなら無駄な追加はさけるようにしていきたいです。

Blueさん、検索を他にもヒットするようにしていきたいとおもいます。普通のツールバ
ーにある検索窓とは違うのでしょうか?

ITOさん、さっそくやってみましたが、役立ちました。今後はそうしていきたいです。

woodさん、コンパイルのできる方でデバックしてみたいと思います。


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

> Blueさん、検索を他にもヒットするようにしていきたいとおもいます。普通のツール
> バーにある検索窓とは違うのでしょうか?
「ファイルから検索」ダイアログを出現させ、検索ボタンで検索するのであればそれで
OKです。
ダイアログバーのコンボボックスに文字だけ入れて F3 検索の場合は開いているソース
しか検索しませんので。

どうも、間違えている方が多いようですので指摘しておきます。
> デバック
デバッグですよ。(Debug)バグを取り除く作業。
   ~~


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

>「ファイルから検索」ダイアログを出現させ、検索ボタンで検索するのであればそれで
OKです。

そうならばいつも使っているものですね。

デバッグとデバッガですね。

問題のエラーはまだ解決しませんね。そこのエラーさえ消えればコンパイルできるんで
すがね…。がんばります。


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

解決しました。

関連のヘッダーファイルをたどっていったらぬけているものがありまして、追加するこ
とでエラーがなくなりました。

他のエラーも単純な大文字小文字の入力間違い等でした。

今回も大変役にたち、勉強になりました。これからのこういったエラーは解決していけ
そうです。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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