【发布时间】:2014-01-28 03:13:51
【问题描述】:
我在不同的源文件中有两个函数:
a.cpp
void A()
{
B();
}
b.cpp
void B()
{
std::cout << "B() called from file: " << ??? << " line: " << ??? << std::endl;
}
如何获取调用的文件名和行号?
【问题讨论】:
-
__FILE__和__LINE__分别。 -
对于 C++20:stackoverflow.com/a/58556021/5267751
-
这不应该是重复的,因为仅仅使用这些宏是不够的,还需要“将函数隐藏在宏后面”(参见接受的答案)这不是唯一可能的答案, C++20 中有另一个答案不适合其他问题(请参阅上面的评论)
标签: c++