Это должно добиться цели:
#ifdef __GNUC__
#define DEPRECATED(func) func __attribute__ ((deprecated))
#elif defined(_MSC_VER)
#define DEPRECATED(func) __declspec(deprecated) func
#else
#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
#define DEPRECATED(func) func
#endif
...
//don't use me any more
DEPRECATED(void OldFunc(int a, float b));
//use me instead
void NewFunc(int a, double b);
Однако Вы встретитесь с проблемами, если функциональный тип возврата будет иметь запятые на свое имя, например, std::pair
, поскольку это будет интерпретироваться препроцессором как передача 2 аргументов макросу УСТАРЕВШЕМУ. В этом случае у Вас был бы к определению типа тип возврата.
Редактирование: более простой (но возможно менее широко совместимый) версия здесь .
При запросе в режиме конструктора щелкните поле выражения поля, затем нажмите Alt + F11, чтобы открыть страницу свойств. Если вы затем переключитесь на вкладку «Поиск», вы увидите, что есть только три варианта управления отображением: текстовое поле; Список; и поле со списком. Вы можете ввести флажок, но он не будет принят.
Таким образом, выражение вычисляемого поля не может отображаться в виде флажка в наборе результатов из запроса Access 2007.
Обновление ]: Возможно, я вас дезинформировал. Если у вас есть флажок для управления отображением, выберите его. (У меня нет такого выбора в моей системе, но я второй раз предполагаю, нормальна ли моя система.)
Если вы хотите, чтобы отображалось что-то, кроме -1 или 0, вы можете попробовать ввести True / False (или Да / Нет) в поле Формат на странице свойств поля.
Вот как это работает, и я не могу добиться желаемых результатов. Единственный известный мне способ - создать временную таблицу.
Возможно, ASP .Net ожидает +1 как истинное значение. Попробуйте поставить АБС на логическое выражение. Хотя просто догадываюсь.