Я пытаюсь использовать макросы __file __ и __line __ в конструкторе в качестве параметров по умолчанию, но я не могу заставить макросы использовать правильные файлы. Они продолжают расширяться от моего файла заголовка. Но я не хочу идти и вкладывать параметры вручную каждый раз, когда я хочу использовать объекты. Я знаю, что есть способ сделать это, но я не могу на всю жизнь понять это. Что я сейчас делаю, так это следующее: < /p>
в моем заголовке: < /p>
mnNumber( float x, const char* filename = __FILE__, int linenumber = __LINE__ ):
value( x ), mFileName( filename ), mFunctionName( nullptr ), mLineNumber( linenumber ), mID( 0 )
< /code>
Но, file < /strong> и line < /strong>, как если бы они были из моего заголовка, а не в реальном месте, которое я использую Mnnumber. Конкретные значения, которые я использую, зарегистрированы в менеджере, и их значение разрешено отредактировано конечным пользователем. Когда конечный пользователь готов к редактированию значения, значение записывается обратно на кодовую страницу. Итак, мне нужно знать, откуда поступила ценность. Я также позволяю конечному пользователю сказать, что ему никогда не нужно будет снова редактировать это значение, и когда они нажимают на эту кнопку, значение преобразуется из Mnnumber обратно в поплавок, а тип на коде переписано как поплавок. Или будет ... надеюсь. < /P>
Любой совет для меня? < /P>
Подробнее здесь: https://stackoverflow.com/questions/114 ... uctor-in-c