Хотя ошибка идентична той, что испытывали others, мое окружение совершенно иное. Я действительно пытаюсь объявить константу:Ошибка Visual C++ C2143: синтаксическая ошибка: отсутствует ';' до 'constant'
const long CS_DROPSHADOW = 0x20000;
const long WS_EX_LAYERED = 0x80000;
Сообщается об ошибке для двух постоянных имен.
Объявление констант находится в файле заголовка, вне любого объявления класса.
Вот как файл H выглядит следующим образом:
#ifndef _ASD_SMARTWINDOW_MAIN_H_TAGXXXMAIH_
#define _ASD_SMARTWINDOW_MAIN_H_TAGXXXMAIH_
#include "ASDTail.h" //Queue support.
namespace ASDSmartWindowMaster
{
...
};
class ASDSmartWindowListener
{
};
const long CS_DROPSHADOW = 0x20000;
const long WS_EX_LAYERED = 0x80000;
//Now comes a bunch of enums...
enum KLayeredWindowType
{ ... };
class ASDSmartWindow
{
};
#endif
Вы не должны использовать [зарезервированные имена] (http://stackoverflow.com/questions/228783) для своих охранников. –
Смысл, что я начал ifndef с _? Извините, это 6-летний проект, который я пытаюсь воскресить, много страшных вещей в нем :: - D. – Axonn