ホーム » VC » template の利用

2018年1月
 123456
78910111213
14151617181920
21222324252627
28293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 77,426 アクセス



template の利用

inline	tstring	x_To_tstring	(const i_64	v)	{	return	::i64tot	(v,10) ;	}
inline	tstring	x_To_tstring	(const u_64	v)	{	return	::u64tot	(v,10) ;	}
inline	tstring	x_To_tstring	(const long	v)	{	return	::i64tot	(v,10) ;	}
inline	tstring	x_To_tstring	(const int	v)	{	return	::i64tot	(v,10) ;	}
inline	tstring	x_To_tstring	(const float	v)	{	return	::To_tstring_rz	(v,0, 7) ;	}
inline	tstring	x_To_tstring	(const double	v)	{	return	::To_tstring_rz	(v,0,15) ;	}

template  <class V2>	tstring	V2_To_tstring(const V2& vt,LPCTSTR sp=_T(" "))
{
	tstring	str = ::x_To_tstring(vt.x) + sp ;
		str+= ::x_To_tstring(vt.y) + sp ;
	return	str ;
	}
template  <class V2>	tstring	V2_To_tstring(const std::vector<V2>& va,LPCTSTR sp2=_T("\t"),LPCTSTR sp=_T("\r\n"))
{
	tstring	str ;
	for (size_t index=0 ; index<va.size() ; index++) {
		str += ::V2_To_tstring<V2>(va[index],sp2) + sp ;
		}
	return	str ;
	}

次の様にすると, tstring pt_str = ::V2_To_tstring(pt2) ; C:\...\T_SplVw.cpp(99) : error C2667: 'V2_To_tstring' : 2 個のオーバーロード関数があいまいで最適な変換ができません。 C:\...\T_SplVw.cpp(99) : error C2668: 'V2_To_tstring' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照)

呼出し方法を忘れるので…
  Vl2A pt2 ;
  tstring pt_str = ::V2_To_tstring<Vl2>(pt2) ;
他にも,
  ::V2_To_tstring<Vd2>(::ToVd2A(tuvs)) ;


Vxx_tstr.hxx

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。