hi all. написал прогу а она не работает...
// file f1.h /////////////////////////
#include <vector>
using namespace std;
class c1
{
public:
c1() {};
static vector<c1*> v2;
static int reg(c1*);
};
////////////////////////////////////
// file f1.cpp ////////////////////
#include "f1.h"
vector<c1*> c1::v2;
////////////////////////////////////
// file f2.cpp ////////////////////
#include <f1.h>
#include <stdio.h>
int c1::reg(c1* v)
{
v2.push_back(v);
printf("registration size = %d\n", v2.size());
}
c1 o1;
static int a = c1::reg( &o1 );
int main(int argc, char** argv)
{
printf("entered %d\n", c1::v2.size());
return 0;
}
////////////////////////////////////
выход программы такой:
registration size = 1
entered 0
а должен быть такой:
registration size = 1
entered 1
помогите, люди добрые... научите где собака порылась...
компайлер GCC 2.95.3 Slackware 7.1
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум ofstream (2006)
- Форум cppcheck - статический анализатор (2013)
- Форум Вопрос по STL (2005)
- Форум Как скопировать элементы из одного контейнера в другой (2021)
- Форум перенаправление вывода С++. WTF? (2014)
- Форум математика (2005)
- Форум Ошибка сегментирования (2017)
- Форум Си (2013)
- Форум Простейший вопрос - свои первые строчки на C. Где argv ? (2004)
- Форум Потестируем инкремент! (2005)