Хочу сделать static_assert, только что бы вместо error был warning...
Помогите пожалуйста... Может уже кто нибудь делал ?
Здравствуйте, alexei_, Вы писали:
A>Хочу сделать static_assert, только что бы вместо error был warning...
A>Помогите пожалуйста... Может уже кто нибудь делал ?
Не совсем понял. Что он из себя должен представлять?
Может не static, а compile-time (как у Александреску)?
Надо подумать, хотя переносимого способа нет.
... << RSDN@Home 1.0 beta 6a >>
Здравствуйте, Михаил Можаев, Вы писали:
ММ>Здравствуйте, alexei_, Вы писали:
A>>Хочу сделать static_assert, только что бы вместо error был warning...
A>>Помогите пожалуйста... Может уже кто нибудь делал ?
ММ>Не совсем понял. Что он из себя должен представлять?
ММ>Может не static, а compile-time (как у Александреску)?
Извините что не совсем понятно выразился....
Да, именно compile-time (как у Александреску),
только чтобы он вызывал не ошибку компиляции а warning
Здравствуйте, alexei_, Вы писали:
A>Да, именно compile-time (как у Александреску),
A>только чтобы он вызывал не ошибку компиляции а warning
Может так подойдет?
///////////////////////// Pragma message helper macro /////////////////////////
/*
When the compiler sees a line like this:
#pragma chMSG(Fix this later)
it outputs a line like this:
c:\CD\CmnHdr.h(82):Fix this later
You can easily jump directly to this line and examine the surrounding code.
*/
#define chSTR2(x) #x
#define chSTR(x) chSTR2(x)
#define chMSG(desc) message(__FILE__ "(" chSTR(__LINE__) "):" #desc)
Не warning, конечно... а нужен имеено warning? Для чего?
Здравствуйте, Колян, Вы писали:
К>Здравствуйте, alexei_, Вы писали:
A>>Да, именно compile-time (как у Александреску),
A>>только чтобы он вызывал не ошибку компиляции а warning
К>
К>Может так подойдет?
К>К>///////////////////////// Pragma message helper macro /////////////////////////
К>
К>/*
К>When the compiler sees a line like this:
К> #pragma chMSG(Fix this later)
К>it outputs a line like this:
К> c:\CD\CmnHdr.h(82):Fix this later
К>You can easily jump directly to this line and examine the surrounding code.
К>*/
К>#define chSTR2(x) #x
К>#define chSTR(x) chSTR2(x)
К>#define chMSG(desc) message(__FILE__ "(" chSTR(__LINE__) "):" #desc)
К>
Да, это прекрасно работает в MSVC, а вот в C++Builder почему то не получается
"easily jump directly to this line and examine the surrounding code."... то есть сообщение нормальное выдается, только вот по клику нельзя перейти к строке где это написано...