class A
{
private:
...
public:
A(A& Object)
{
}
void SomeFunc1()
{
A a;
SomeFunc2(a);
}
void SomeFunc2(A Object)
{
...
}
};
Old style class arguments
Есть некий класс подобного плана:
Код:
Т.е. переопределен стандартный конструктор. Visual C++ все отличненько компилит и все работает, а вот C++ Builder 2009 выдает ошибку:
"[BCC32 Error] XXX.h(243): E2285 Could not find a match for 'A::A(A&)'"
Но ошибка выдается только когда в опциях стоит Old-style class arguments=false (т.е. по умолчанию). Если сделать true, то голое приложение работает на ура, но реальное отказывается компилится, потому что некоторым билдеровским классам надо, чтобы Old-style class arguments=false.
Отсюда вопрос, никто не боролся с такой проблемой? Что вообще такое "Old-style class arguments" ? Гугл оказался бесполезным...
Цитата: madjahed
Всем доброго времени суток!
Отсюда вопрос, никто не боролся с такой проблемой? Что вообще такое "Old-style class arguments" ? Гугл оказался бесполезным...
Отсюда вопрос, никто не боролся с такой проблемой? Что вообще такое "Old-style class arguments" ? Гугл оказался бесполезным...
Код:
class A
{
private:
...
public:
A(A const& Object)
{
}
};
{
private:
...
public:
A(A const& Object)
{
}
};
Нет, почему же там константа. Так не работает точно.