誰かこれにふさわしいタイトルを教えてください。
質問がありますが、適切な英語での言い方がわかりません。だから私はいくつかの例でそれを尋ねます:
Double という名前の構造体があるとします。
struct Double
{
// Declarations/Definitions here
}
そして、プライマリータイプのダブルとして使用されます。私のクラスには次のようないくつかの機能があることを除いて、ほぼ同じです。
void Double::event_serialize(Stream& stream);
String Double::event_representate();
そのため、このタイプ (およびその他) のラッパーを作成する必要がありました。
たとえば、次のような関数があります。
template<class T> void print(T value)
{
std::cout << value.event_representate() << std::endl;
}
これで、次のような組み合わせで使用できます。
Double x = 3.14;
print(x);
しかし、次のように使用したい場合:
print(3.14);
コンパイラは次のようなことを行います。
const double __invis_value_1 = 3.14;
print(__invis_value_1);
右?
コンパイラーがそれを主要なタイプ double ではなく Double として検出することを (可能であれば) どうすれば確認できますか?
誰かが私を助けてくれることを願っています。前もって感謝します!