我宣布了一个宏如下:
#define PIECE_TAG(point,cell) "<Piece NumberOfPoints=\"" STRING(point) "\" NumberOfCells=\"" STRING(cell) "\">"
#define STRING(str) #str
并将其用作:
_out << TAB << TAB << PIECE_TAG(pointsOfMesh.size() , elemsOfMesh.size() ) << ENTER;
但它返回一个字符串:
<Piece NumberOfPoints="pointsOfMesh.size()" NumberOfCells="elemsOfMesh.size()">
我如何将整数值转换为C ++宏中的字符串? 非常感谢你!
答案 0 :(得分:2)
宏解释字符串,而不是C ++代码。
抛出宏并编写代码。
std::string piece_tag( std::size_t point, std::size_t cell ) {
std::stringstream ss;
ss<<"<Piece NumberOfPoints=\"" << point << "\" NumberOfCells=\"" <<cell << "\">";
return ss.str();
}