2010-07-07 4 views
5

Я пытаюсь найти все неиспользованные методы моего проекта. У меня есть способы поиска, но самый убедительный ответ, который я нашел, - объявить все мои функции устаревшими и удалить этот атрибут, пока я не получу никаких предупреждений.Отметить как устарело

Проблема в том, что я не знаю, как объявить функцию устаревшей. Когда я пишу:

[Obsolete] 
    class Vector3{ 

    }; 

VS2005 говорит мне, что Устаревшее не существует. Любые предложения?

+0

вы имеете в виду неиспользованными, как в «Не упоминается в коде» или не используется, как и в «Не используется при обычном исполнении» – DevinB

+0

обоих. Может быть неиспользуемый код (не указывается в коде), который ссылается на другие методы (на них ссылаются, но никогда не выполняются). – Sara

+5

Действительно ли это C++? –

ответ

2

Я не знаю, остальную часть исходного кода, но вы должны иметь

using System; 

в верхней части.

+0

Попробуйте '[System.ObsoleteAttribute]', чтобы узнать, исправляет ли он это. –

+0

Теперь он говорит, что Система не существует. – Sara

+3

Это C#. OP использует C++. – Default

8

В gcc вы используете __attribute__ ((deprecated)), чтобы тегировать функции как устаревшие.

Похоже, __declspec(deprecated) может сделать трюк в VS. Вам также необходимо включить предупреждающий уровень 1, чтобы он дал диагностику.

См http://msdn.microsoft.com/en-us/library/044swk7y%28VS.80%29.aspx

+0

Отличный !! это и сделал трюк. – Sara

+1

Самый простой способ - добавить один ## определенный (_MSCVER) #define DEPRECATED __declspec (устаревший) #elif defined (__ GNUC__) #define DEPRECATED __attribute__ ((устарело)) # endif', поэтому вы можете записать 'DEPRECATED class Vector3 '. – MSalters

Смежные вопросы