Баг компилятора при параметре шаблона = void* - страница 16

 
Да кто бы спорил, что Вы более талантливы )
 
Ilya Malev:

Ну и тогда контрольный вопрос: почему Вы здесь

MASK( t, n )

целиком в скобочки не берете?

Я то не беру потому что скобочки подразумеваются здесь

#define MASK( t, n )    (-1)

Но у Вас то нет такой подразумеваловки - все должно быть строго "по науке"

 
A100:

Ну и тогда контрольный вопрос: почему Вы здесь

в скобочки не берете?

Я то не беру потому что скобочки подразумеваются здесь

Но у Вас то нет такой подразумеваловки - все должно быть строго по "науке"

У меня t - это тип, n - конкретное число степени двойки, маска на него это (1<<(n+1))-1.  Меня в последнем варианте было так написано

#define TMASK(T,P)   ((((T(1)<<P)-1)<<T(1))+1)

Почему я во втором случае усложнил запись по сравнению с первым можете сами догадаться.

 
Ilya Malev:

Откуда я делаю вывод, что скобочки в каждом конкретном случае Вы расставляете\не расставляете "по ситуации". Но компилятор так не может - ему нужны строгие правила для выдачи предупреждений

 
Alexey Navoykov:
Мне вот они не нужны для понимании логики. Выходит, что я более талантлив? )

вспомнил армию и крылатые фразы, кажется старшина довольно умную фразу изрек: "у каждого своя правда" - имхо, так и есть, Вы правы, но и я прав!

;)

PS:  к сожалению, в наше время талант измеряется в денежном выражении, ничего против не имею, будьте талантливее, но не в ущерб остальным ;)

 
Igor Makanu:

для меня сейчас приземленная задача это хочу форму с VS в .dll  прикрутить к МТ5 изящным способом ))) - хочу обработчики кликов кнопок обернуть в класс и вызывать путем обхода массива указателей на функции обработчиков, причем хочу получить в основном коде советника возможность писать имена ф-ций один в один как в VS , т.е. button2_Click() ....button2_Click() 

ЗЫ :задача из области ЕОП  )))

Не вздумайте продолжать, а то если Вы это сделаете и выложите, то сколько тогда статей\библиотек для создания графических панелей\интерфейсов отправится в историю

 
A100:

Не вздумайте продолжать, а то если Вы это сделаете и выложите, то сколько тогда статей\библиотек для создания графических панелей\интерфейсов отправится в историю

увы, "поздняк метаться", я пока тут писал в топике, мне уже помогли с мыслями собраться, все уже сделал, очень компактно и все в стиле VS 

выкладывать давно ничего не собираюсь, мне не жалко, но лишний раз собирать плевки в спину от доброжелателей... мне и в оффлайн хватает этого, как показала практика, проще делать как пишут: никогда не помогай человеку если тебя об этом не просят

))

 

Интересно, вот эти сторонники "без фигурных скобок" - кто они? Практически же не бывает кода, что бы под if или под for была одна строка кода. Даже если она изначально одна, очень вероятно, что через некоторое время появится еще и надо будет писать фигурные скобки. Изначально поставить две фигурные скобки - это совершено не затратное действие, а вот если их ставит потом - нужно пробежать глазами по коду, найти конец строки. 

Предполагаю, что это преподаватели. Потому что наблюдается очень хорошее знание языка, особенно таких его моментов, которые практически мало полезны, при том вот эта склонность мусолить их бесконечное количество времени. На лекции написал пару строчек кода, и полтора часа их обсуждаешь, здесь и вопроса о фигурных скобках не встает. 

Самая большая заморочка от отсутствия фигурных скобок возникает при доработках и при отладке. Допустим, надо вывести принтом что-то - добавляется строка, а в этом момент мало кто задумывается, что соседняя строка находится по if или под for. Так и с доработками - нашел место, дописал строку и все сломалось. Много раз встречал такие проблемы и не только у себя (у себя только один раз и с того момента сразу пишу две скобки). Поэтому всем рекомендую, сразу после написания if и for писать пару фигурных скобок. К тому же это хорошо защищает от потерянной фигурной скобки, для поиска это самая сложная ошибка. 

 

Есть еще два лагеря:

1. Сторонники вертикального кода.

2. Сторонники горизонтального кода.

Тоже интересная тема.

 
Dmitry Fedoseev:

Есть еще два лагеря:

1. Сторонники вертикального кода.

2. Сторонники горизонтального кода.

Тоже интересная тема.

объединил основную тему топика про ненужность () с вашими новыми темами в один код:

int sum(int a,int b){return a+b;}
//+------------------------------------------------------------------+
void OnStart()
  {
   Print(sum(3,7));
  }
//+------------------------------------------------------------------+

... пошел за попкорном ...

Причина обращения: