Как я могу заставить SourceInsight понимать умные указатели?

Если мой код использует интеллектуальные указатели, навигация и завершение не будут работать с SourceInsight. Например, с этим простым примером кода:

class test {
public:
void fun(){}
};

int main() {
boost::scoped_ptr<test> a;
a->fun();
return 0;
}

Когда я нажимаю fun() в main SourceInsight говорит мне «символ не найден».

Что-то, что я должен сделать, чтобы исправить это, или у SourceInsight есть ограничения?

-3

Решение

Так что я попробовал. Скачал, просканировал на вирусы, подписался на бесплатную пробную версию, установил Wine, запускай!

Теперь я могу заставить SourceInsight импортировать символы из каталогов Boost: введите описание изображения здесь

Затем я ввожу путь к моей директории Boost: Z:\home\sehe\custom\boost\
введите описание изображения здесь

Обработка занимает минуту или две:

введите описание изображения здесь

Кажется нормально

введите описание изображения здесь


Теперь, если вы импортируете эти символы в свой проект:

введите описание изображения здесь

Вы будут найти вы можете перейти к boost::scoped_ptr<> очень хорошо (я дважды щелкнул на a в декларации a):

введите описание изображения здесь

Но он не найдет ссылки на fun:

введите описание изображения здесь

Находит только объявление:

введите описание изображения здесь

Конечно, вы можете использовать простой поиск по строке, но это не главное.

Вот экспорт HTML: https://s3.amazonaws.com/stackoverflow-sehe/f14b4ee2-9b4d-49cd-893d-cf69372dd586/HTML/test.cpp.html

введите описание изображения здесь

Заключение

Похоже, что это ограничение SourceInsight, а не из-за неправильной конфигурации.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]