В одном проекте имеем файлы debug.h, debug.cpp и main.cpp
В debug.h
.....
void debug(const char *, const char *, int);
#ifndef NDEBUG
#define debug(msg) debug(msg, __FILE__, __LINE__);
#else
#define debug(msg)
#endif
.....
B debug.cpp
.....
#include "debug.h"
#undef debug
void debugOut(const char *s) {...}
void debug(const char *msg, const char *file, int line) {...}
.....
B main.cpp
.....
#include "debug.h"
main()
{
debu <CTRL>+<SPACE> // т.е написал кусочек слова и нажал дополняй
}
Предлагает три варианта
debug()
debug(const char *, const char *, int)
debugOut(const char *)
Третий вариант совсем непонятно, как проникает из debug.cpp в main.cpp. Второй тоже не может существовать ни при каких обстоятельствах. Он просто затерт для main.cpp определением #define debug(msg).
Может я пропустил какие то опции при настройке NetBeans или проекта?
NetBeans
Модератор: Модераторы разделов
Re: NetBeans
Наверное глюк.
Я тоже проверил, дополнять дополняет, но компилятор не обманешь: (:
"main.cpp:17: error: `debugOut' was not declared in this scope"
Кстати, попробовал то же самое сделать в MSVC
автодополнение тоже предлагает в качестве одного из вариантов debugOut, но компилятор не компилирует:
"error C3861: 'debugOut': identifier not found"
Я тоже проверил, дополнять дополняет, но компилятор не обманешь: (:
"main.cpp:17: error: `debugOut' was not declared in this scope"
Кстати, попробовал то же самое сделать в MSVC
автодополнение тоже предлагает в качестве одного из вариантов debugOut, но компилятор не компилирует:
"error C3861: 'debugOut': identifier not found"
Re: NetBeans
В CDT тоже самое. Правда если сделать debugOut static, то ее не показывает уже. А такие тонкости как перекрытие имен препроцессором похоже никто не умеет в автокомплите учитывать )
Re: NetBeans
Не знаю о каком Вы CDT, но в 5-ом и 6-ом в paзделе CDT->индексация есть опция "Индексировать только включенные заголовки". И тогда работает правильно. Но от CDT нельзя добиться "case sensitive" дополнения. Если я написал nul<ctrl>+<spase> он подсунет и NULL и еще кучу всякого хлама. Я сегодня закинул баг в netbeans, посмотрим чего ответят.