How to make preprocessor generate a string for __LINE__ keyword?

__FILE__ is replaced with "MyFile.cpp" by C++ preprocessor. I want __LINE__ to be replaced with "256" string not with 256 integer. Без использования моих собственных написанных функций, таких как

toString(__LINE__);

, возможно ли это? Как я могу это сделать?

VS 2008

EDIT Я хотел бы автоматически находить и заменять все throw; операторы с

throw std::runtime_error(std::string("exception at ") + __FILE__ + " "+__LINE__);

в моих источниках. Если я использую макрос или функцию для преобразования __ LINE __ в строку, мне нужно будет вручную изменить каждый исходный файл.

29
задан Brian Tompsett - 汤莱恩 20 June 2016 в 20:33
поделиться