На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> конструктор копирования , не могу понять почему так
    Здравствуйте, по ходу написания моего знаменитого демо возник такой вопрос :D
    есть к примеру класс:
    ExpandedWrap disabled
      class A
      {
      public:
          A() {}
          ~A() {}
          CArray<int> array;
      };

    так вот след код не компилируется

    ExpandedWrap disabled
      A a;
      A b = a; //<-- ругается типо нет копировщика


    пишет что: "error C2280: 'A::A(const A &)': attempting to reference a deleted function"
    а вот если заменить например на std::vector то компилируется :huh:
    естесвено если определить в первом случае копировщик то все компилируется
    ExpandedWrap disabled
      class A
      {
      public:
          A() {}
          A(const A& a) {}
          ~A() {}
          CArray<int> array;
      };
    Сообщение отредактировано: Cfon -
      Дефолтовый конструктор копирования просто пытается вызвать конструкторы копирования всех членов класса. У CArray его нет, поэтому и у А он тоже не генерируется.
        Цитата OpenGL @
        Дефолтовый конструктор копирования просто пытается вызвать конструкторы копирования всех членов класса. У CArray его нет, поэтому и у А он тоже не генерируется.

        да затупил в очередной раз :D
        щас глянул сорсы CArray в нем вроде все норм, а вот в CObject от которого он наследован, копировщик закрыт :yes:

        Добавлено
        на самом деле я не сразу понял в чем дело, я думал что нет копировщика в классе А, ну т.е. типо надо его явно определить, что вроде как не обязательно если его нет то компилятор сам генерит, из этого весь сыр-бор :D
        Сообщение отредактировано: Cfon -
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0411 ]   [ 16 queries used ]   [ Generated: 19.04.24, 17:38 GMT ]