小编use*_*741的帖子

如何在c ++的构造函数中使用__FILE__和__LINE__作为默认参数?

我试图在构造函数中使用__FILE____LINE__宏作为默认参数,但我似乎无法让宏使用正确的文件.他们不断扩展我的头文件.

更详细:我想要将对象实例化为我的类成员的文件和行号.但是每次我想使用这些对象时,我都不想手动输入参数.我知道有办法做到这一点,但我不能为我的生活弄清楚.我目前正在做的是以下内容:

在我的头文件中:

mnNumber( float x, const char* filename = __FILE__, int linenumber = __LINE__ ): 
          value( x ), mFileName( filename ), mFunctionName( nullptr ), mLineNumber(     linenumber ), mID( 0 )
Run Code Online (Sandbox Code Playgroud)

但是,FILELINE会扩展,好像它们来自我的头文件,而不是我使用mnNumber的实际位置.

要回答我为什么要这样做的问题,我想让代码读取它自己的代码页.我使用的特定值正在管理器中注册,并且最终用户可以编辑它们的值.当最终用户完成编辑值后,该值将被写回代码页.所以,我需要知道价值来自哪里.我还允许最终用户说他们永远不需要再次编辑这个值,当他们单击该按钮时,该值将从mnNumber转换回float,并且代码页上的类型将被重写为float .或者,希望......

对我有什么建议吗?

c++ c-preprocessor

6
推荐指数
2
解决办法
3583
查看次数

如何告诉编译器为每个编译的函数添加一个函数调用?

我记得在阅读有关告诉visual studio在编译时为每个函数添加函数调用的方法.如果你想要推翻自己的穷人的探查器,这很方便.但我不记得该怎么做,或者它叫什么.我想用g ++做同样的事情.有谁知道如何做到这一点?

编辑:所以它看起来像visual studio等价是用/ Gh编译并给出_penter和_pexit函数的定义.对于g ++,您应该查找-finstrument-functions编译器选项.

c++ g++ visual-studio-2010

3
推荐指数
1
解决办法
267
查看次数

标签 统计

c++ ×2

c-preprocessor ×1

g++ ×1

visual-studio-2010 ×1