Как использовать __file__ и __line__ в качестве параметров по умолчанию в конструкторе в C ++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как использовать __file__ и __line__ в качестве параметров по умолчанию в конструкторе в C ++?

Сообщение Anonymous »

Я пытаюсь использовать макросы __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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»