cpp
От: C0nsul  
Дата: 27.09.04 15:55
Оценка:
В чем моя ошибка? Подскажите пожалуйста как ее исправить.
(Error: Error: Unresolved external 'Array::M'
Error: Error: Unresolved external 'Array::size')

#include <iostream.h>
#include <conio.h>
//--------
class Array
{
public:
static int size;
static int M[10];
void Print();
};
//--------
void Array :: Print()
{
size = 10;
for(int i=0; i<size; ++i)
cout << M[i];
}
//---------
int main()
{
Array a;
a.Print();
getch();
return 0;
}
Re: cpp
От: korzhik Россия  
Дата: 27.09.04 16:07
Оценка:
Здравствуйте, C0nsul, Вы писали:

вот уже лучше
приятно когда человек прислушивается советов
таким людям приятно помогать
это не сарказм, это я серьёзно.
маленькие замечания по оформлению:
желательно код обрамлять тэгами [c][/c]
теперь по существу:
#include <iostream> // iostream.h устаревший хедер, используйте <iostream>
#include <conio.h>
//--------
class Array
{
   public:
    static int size;  // вот здесь вы объявили статические 
    static int M[10]; // члены класса

    void Print();
};

// а теперь надо их определить
int Array::size = 0;
int Array::M[10] = {0};

[skip]
... << RSDN@Home 1.1.4 beta 1 >>
Re[2]: cpp
От: korzhik Россия  
Дата: 27.09.04 16:11
Оценка:
Здравствуйте, korzhik, Вы писали:

K>
K>#include <iostream> // iostream.h устаревший хедер, используйте <iostream>
K>#include <conio.h>
K>[skip]
K>


предвидя следующий вопрос, замечу вам, что после использования файла <iostream>
надо либо, написать так:
#include <iostream>
using namespace std;

либо потом использовать потоки так:
void Array :: Print()
{
  size = 10;
  for(int i=0; i<size; ++i)
    std::cout << M[i];
}
... << RSDN@Home 1.1.4 beta 1 >>
Re: cpp
От: Вадим Никулин Россия Здесь
Дата: 28.09.04 05:35
Оценка:
Здравствуйте, C0nsul, Вы писали:

C>В чем моя ошибка? Подскажите пожалуйста как ее исправить.

C> static int size;
C> static int M[10];

А можно узнать, почему static? Они что, разделяются между всеми массивами?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.