C++/CLI, нельзя использовать атрибут до его определения. Кто
От: Vladimir Bukreev Россия  
Дата: 14.04.09 15:01
Оценка:
Сабж, т.е. нельзя использовать класс как атрибут при наличии только объявления (declaration, forward declaration), требуется полное определение (definition).

Вот мой баг на connect.microsoft.com — https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=432430
, вот кусок кода как пример (оттуда же):

using namespace System;
namespace CppCLItest {
ref class B;
ref class MyAttribute; // Не помогает!

public ref class Class1
{
[My()] // Ошибка компиляции!
int a;
B^ b; // А этот тип подхватился!
};

public ref class MyAttribute : public System::Attribute{};

public ref class B{};
}

А где мне это понадобилось — нужно класс контрола сделать первым в файле, а контрол юзает свой собственный атрибут, хидер с которым собственно и инклюдится перед классом контрола и мешает дизайнеру.
... << RSDN@Home 1.2.0 alpha 4 rev. 1165>>
Re: C++/CLI, нельзя использовать атрибут до его определения.
От: Vladimir Bukreev Россия  
Дата: 14.04.09 15:16
Оценка:
VB>Сабж, т.е. нельзя использовать класс как атрибут при наличии только объявления (declaration, forward declaration), требуется полное определение (definition).
Сорри, забыл задать вопрос — это баг? Фича? Меня глючит? Кто виноват и что делать в этом случае?
Re: C++/CLI, нельзя использовать атрибут до его определения.
От: vdimas Россия  
Дата: 15.04.09 20:46
Оценка:
Здравствуйте, Vladimir Bukreev, Вы писали:

VB> А где мне это понадобилось — нужно класс контрола сделать первым в файле, а контрол юзает свой собственный атрибут, хидер с которым собственно и инклюдится перед классом контрола и мешает дизайнеру.


Сделай его внутренним классом контрола.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.