Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Mike-Aiki от Март 02, 2012, 15:58



Название: multi-line comment - что за warning?
Отправлено: Mike-Aiki от Март 02, 2012, 15:58
Использую в проекте SDK Advantech, включаю некоторое кол-во их хидеров. Соответственно, получаю большое кол-во предупреждений "multi-line comment " на конструкции типа
Код:
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\2.2//////////////////////////////////////
#define CFG_WatchdogCounter  0x7000       // Watchdog counter.
#define CFG_DoWatchdogValue  0x7001       //Do status when watchdog overflow.
#define CFG_WatchdogCounter_Name  "WatchdogCounter"
#define CFG_DoWatchdogValue_Name  "DoWatchdogValue"
#define CFG_EEPROM_RWBYTE    0x8000       // Read/Write a word to the EEPROM
#define CFG_PrivateHWRegionSize 0x8001    // Customer private region size 32 bytes
//////////////////////////////2.2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
здесь, к примеру, warning на последней строке.  Компайлер MinGW. Я, конечно, почикал слэши  до минимума, но что бы это значило?  :)


Название: Re: multi-line comment - что за warning?
Отправлено: LisandreL от Март 02, 2012, 18:40
Это значит что символ \ в конце строки склеивает 2 строки в одну.
Т.е. например если вы напишите:

Код
C++ (Qt)
#include <QtGui/QApplication>
#include "widget.h"
 
// This is mAAAAAAAin!!! \\
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   Widget w;
   w.show();
 
   return a.exec();
}
То у вас будут закомментированны 2 строки и код не соберётся, так как объявления функции main нет, а есть непонятный блок кода.
Зато комментарий выглядит очень стильно и вы даже обманете многие подсветки синтаксиса (но не компиляторы).


Название: Re: multi-line comment - что за warning?
Отправлено: Mike-Aiki от Март 03, 2012, 00:31
А ведь точно... Но мне казалось, что склейка строк на комментарий вообще-то не должна бы распространяться... Билдеровский компайлер точно на это не реагировал. ;)