__FILE__
コンストラクターでおよびマクロをデフォルトのパラメーターとして使用しようとしてい__LINE__
ますが、マクロが適切なファイルを使用するようには見えません。彼らは私のヘッダーファイルから展開し続けます。
詳細: クラスのメンバーとしてオブジェクトがインスタンス化されるファイルと行番号が必要です。しかし、オブジェクトを使用するたびにパラメーターを手動で入力する必要はありません。これを行う方法があることは知っていますが、一生それを理解することはできません。私が現在行っていることは次のとおりです。
私のヘッダーファイルでは:
mnNumber( float x, const char* filename = __FILE__, int linenumber = __LINE__ ):
value( x ), mFileName( filename ), mFunctionName( nullptr ), mLineNumber( linenumber ), mID( 0 )
しかし、FILEとLINEは、mnNumber を使用する実際の場所ではなく、ヘッダー ファイルからのものであるかのように展開されます。
なぜこれをやりたいのかという質問に答えるために、コードに独自のコードページを読み取らせたいと思います。私が使用する特定の値はマネージャーに登録されており、その値はエンド ユーザーが編集できます。エンド ユーザーが値の編集を完了すると、値はコード ページに書き戻されます。そのため、その値がどこから来たのかを知る必要があります。また、エンド ユーザーがこの値を再度編集する必要はないと言うことを許可します。ユーザーがそのボタンをクリックすると、値が mnNumber から float に変換され、コードページの型が float として書き換えられます。 . または、そうなるでしょう...うまくいけば。
私へのアドバイスはありますか?