Помогите исправить опечатки!

Тема в разделе "MS Visual C++", создана пользователем Artur1987, 3 май 2007.

  1. Artur1987

    Artur1987 Active Member

    Регистрация:
    31 мар 2007
    Сообщения:
    31
    Симпатии:
    0
    Мне нужно создать двумерный динамический массив [n][k]. В моей книге по С++ написано как это сделать,но код не работает.Вот он:

    ////////////////////////////////////////////////////
    int n,k,i,*mas;
    cin>>n;
    cin>>k;
    mas=new int[n];

    for(i=0;i<n;i++) {mas=new int[k] ; }
    ////////////////////////////////////////////////////
    Ошибка в последней строчке: error C2440: '=' : cannot convert from 'int *' to 'int'

    И вторая опечатка уже в другой программе:

    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    class CPainterDoc : public CDocument
    {
    ......
    ......
    public:
    // Список указателей на объекты-фигуры
    CTypedPtrList <CObList, CBasePoint*> m_ShapesList;
    .......
    //////////////////////////////////////////////////////////
    Здесь CBasePoint - созданный наследованием класс, m_ShapesList - просто переменная.
    Ошибки выдаёт следующие:

    error C2143: syntax error : missing ';' before '<'
    error C2501: 'CTypedPtrList' : missing storage-class or type specifiers

    Я не встречался ранее с такой структурой, и не могу исправить опечатку в этой строчке.
    Помогите плз...
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    1. Ты объявляешь и создаешь mas как массив int, А присвоить элементу пытаешься целый массив, т.е. указатель, на что компилятор и указывает. Надо что-нибудь такое:
    Код (Text):
    int** mas;
    ...
    mas = new int*[5]
    2. А ошибка-то какая?
     
  3. progstone

    progstone Гость

    :rolleyes: int n,k,i;
    INT* mas;
    cin>>n;
    cin>>k;
    mas=new int[n];

    for(i=0;i<n;i++) {mas=new int[k] ; }
    ////////////////////////////////////////////////////
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--QuoteBegin-Artur1987+3:05:2007, 16:59 -->
    <span class="vbquote">(Artur1987 @ 3:05:2007, 16:59 )</span><!--QuoteEBegin-->Я не встречался ранее с такой структурой, и не могу исправить опечатку в этой строчке.
    [snapback]64507" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    afxtempl.h подключен?
     
  5. Artur1987

    Artur1987 Active Member

    Регистрация:
    31 мар 2007
    Сообщения:
    31
    Симпатии:
    0
    Нет. А что это?

    Спасибо!Дин.Массив работает!!! В книге действительно была опечатка
     
  6. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--QuoteBegin-Artur1987+5:05:2007, 11:40 -->
    <span class="vbquote">(Artur1987 @ 5:05:2007, 11:40 )</span><!--QuoteEBegin-->Нет. А что это?
    [snapback]64789" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Скорее всего, ты не подключил директивой include заголовочный файл afxtempl.h, в котором объявлен CTypedPtrList. Чтобы его подключить воспользуйся #include <afxtempl.h>
     
  7. Artur1987

    Artur1987 Active Member

    Регистрация:
    31 мар 2007
    Сообщения:
    31
    Симпатии:
    0
    Так оно и оказалось! Спасибо,теперь всё работает :)
     
Загрузка...
Похожие Темы - Помогите исправить опечатки
  1. Rpp
    Ответов:
    1
    Просмотров:
    807
  2. victory
    Ответов:
    0
    Просмотров:
    962
  3. victory
    Ответов:
    0
    Просмотров:
    787
  4. victory
    Ответов:
    3
    Просмотров:
    1.323
  5. victory
    Ответов:
    3
    Просмотров:
    1.037

Поделиться этой страницей