-2
我宣佈一個宏如下:如何將int參數傳遞到字符串宏?
#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++的宏中的字符串? 非常感謝!
爲什麼不使用返回字符串的函數? C++不鼓勵使用宏。 – InternetAussie
宏沒有內置變量的概念,所以除非你傳入一個整數字面值,否則無法做到這一點 –
編譯完成後宏不再存在。這就是爲什麼他們是宏。所以宏直到運行時才使用一個未知的值是不可能的。 – rici