必要に応じて新しいクラスを作成できる #define を使用してマクロを作成しようとしています。これが私のコードです:
#pragma once
#include "PDDefFileReader.h"
#define SET_LANG( lang ) *( new std::string( lang ) )
#define LANG( cName, lName )
class cName
{
public:
cName()
{
_langName = SET_LANG( lName ); <- HERE !!!!
_reader = new PDDefFileReader( _langName );
}
~cName(){}
std::string Str(){ return _langName; }
private:
PDDefFileReader* _reader;
std::string _langName;
};
したがって、定義の「lName」パラメーターを std::string オブジェクトとして取得する場合、どうすればよいか知りたいです。今のところ(「HERE !!!!」の行で)エラーが発生します:
Error: Identifier "lName" is undefined
私がやりたいことが可能かどうか、何か考えはありますか?
コンテキストを説明するために、カスタムの多言語リーダーを作成しています。したがって、次のようなことを行うことで、新しい言語を簡単に定義できます。
LANG( Cpp, "cpp" )
LANG( Perl, "pl" )
ありがとう !!