【发布时间】:2018-08-12 14:09:41
【问题描述】:
我在下面定义了一个模板类。我将结构传递给这样的函数:
函数调用
function({2, 2})
函数声明
void function(UnsignedVector2D pad) {
//get `pad` as a string so that I can write it to file
}
我的问题是 - 我想记录传递给函数的 pad 的值。函数内部有没有办法可以将pad 转换为字符串,例如{2,2},以便将其写入文件?我不能扩展函数声明来传递其他参数,但也许可以写一个toString() 函数。这可能吗?
template <class T>
struct Vector2D
{
T e0;
T e1;
};
using "UnsignedVector2D = Vector2D<unsigned_type>;
【问题讨论】:
-
2DUnsignedVector不是有效的标识符。您的示例可能无法编译。 -
在 C++ 中,您不能声明任何以数字开头的名称。
-
我不确定我是否理解困难的本质。如果您知道如何编写
toString(UnsignedVector2D),那么只需将该代码复制到function;或从function拨打toString。 -
@IgorTandetnik 谢谢 - 我的意思是我怎么能写一个
toString()方法? -
@arianecathal 只是...首先您知道如何将
int转换为字符串吗?然后将多个字符串连接在一起?
标签: c++ string function templates struct