yumemizu5
@yumemizu5

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

afxdlgs.hでのエラー対応方法

Q&A

Closed

解決したいこと

E0766	仮想 関数 "CPrintDialogEx::AddRef" の例外指定はオーバーライドされた 関数 "IPrintDialogCallback::AddRef" の例外指定と互換性がありません

C++、VisualStudio2022でプログラム作成を開始しようとしたとき起動してすぐ上記のエラーが出て対応がわからない。

発生している問題・エラー

E0766	仮想 関数 "CPrintDialogEx::AddRef" の例外指定はオーバーライドされた 関数 "IPrintDialogCallback::AddRef" の例外指定と互換性がありません

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード

    言語名 C++
	STDMETHOD(QueryInterface)(REFIID riid, void** ppvObject);
	virtual ULONG STDMETHODCALLTYPE AddRef();
	virtual ULONG STDMETHODCALLTYPE Release();

自分で試したこと

ここに問題・エラーに対して試したことを記載してください。

検索したがそれらしい記事が見つからない。

virtual ULONG STDMETHODCALLTYPE AddRef() throw();
throw()をつけるとのような記事を見かけましたがafxdlgs.h事態が提供されたファイルなので編集しないほうがいいと考えて困っています。

version visual studio 2022
sdk 10.0(最新のインストールされているバージョン)
ツールセット 2019(v142)
言語標準 C++17標準

0

1Answer

virtual ULONG STDMETHODCALLTYPE AddRef() throw();
throw()をつけるとのような記事を見かけましたがafxdlgs.h事態が提供されたファイルなので編集しないほうがいいと考えて困っています。

念のためバックアップ取って変更してみて、事象が解決するか確認してみてはいかがでしょう?

1Like

Comments

  1. @yumemizu5

    Questioner

    反応ありがとうございます。

    試しにやるとエラー自体は消えるんですがその状態でいいのかが判断できなくて困っています。

  2. なるほど、原因は明確化されたようで、よかったです。

    状況がよくわからないので何とも言えないのですが(同じ環境を作るのが面倒くさいというのもある)、シビアな状況(例えば商品にする)じゃなければ、取り急ぎその対応でいいんじゃないですかね?

  3. @yumemizu5

    Questioner

    回答ありがとうございます。

    一旦は問題なさそうですのでご指摘された通りこの対応で行こうと思います。
    ありがとうございます!

Your answer might help someone💌