powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как передать структуру в функцию
4 сообщений из 4, страница 1 из 1
Как передать структуру в функцию
    #38814294
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется следующий класс
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
class Myobj{
      public:
			int num;
            Mypoints v;
            Mypoints vn;
            Mypoints vt; 
            Myforma f;
            int loadfromfile(string filename,Mypoint xyz,Mypoint scale);
            int loadfromstr(string str);
            int mydel();
            int show();
            int in_obj(Mypoint mp,int xpp);
            int in_obj_cyl(Myplayer mp);
	int in_obj_cube(Mycube* mp);
      };



и функция
Код: plaintext
1.
void creategamemap(Myobj* mb);


когда передаю таким образом
Код: plaintext
1.
2.
3.
Myobj obj;
...
mygamemap.creategamemap(&obj);


передается пустая структура
...
Рейтинг: 0 / 0
Как передать структуру в функцию
    #38814300
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежник,

передашь ты структуру правильно, ты ее неправильно инициализируешь, а точнее, никак не инициализируешь, поэтому она и "пустая", а точнее, она инициирована случайными данными.
...
Рейтинг: 0 / 0
Как передать структуру в функцию
    #38814301
Фотография Картежник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

нет я ее инициализирую просто тут не показано. многоточие стоит. дело в том что внутренние свойства тоже структуры.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
class Mypoint{
      public:
      float x;
      float y;
      float z;      
      int loadfromstr(string s);
      int show();
      };
class Mypoints{
      public:
      int count;
      Mypoint *p;
      int mydel();
      int show();
      };
class Mysquare{
      public:
      int count;
      vector <int> fff;
      vector <int> fn;
      vector <int> ft;
      int mydel();
      int loadfromstr(string s);
      int show();
      };
class Myforma{
      public:
      int count;
      Mysquare *ff;
      int mydel();
      int show();
      };

class Myobj{
      public:
			int num;
            Mypoints v;
            Mypoints vn;
            Mypoints vt; 
            Myforma f;
            int loadfromfile(string filename,Mypoint xyz,Mypoint scale);
            int loadfromstr(string str);
            int mydel();
            int show();
            int in_obj(Mypoint mp,int xpp);
            int in_obj_cyl(Myplayer mp);
			int in_obj_cube(Mycube* mp);
      };


инициализация
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
myobjs.objs[myobjs.objcount].loadfromstr(s);
		myobjs.objs[myobjs.objcount].show();
		myobjs.objs[myobjs.objcount].num=myobjs.objcount;
		vertcount=vertcount+myobjs.objs[myobjs.objcount].v.count;
		myobjs.objcount++;
		cout<<"objcount="<<myobjs.objcount<<" vertcount="<<vertcount<<"\n";
		
		mygamemap.creategamemap(&objs[objcount]);


надо же нашел глупую ошибку))))))) myobjs.objcount++; стоит раньше
...
Рейтинг: 0 / 0
Как передать структуру в функцию
    #38814377
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картежник,

как минимум этот член класса не инициализируется никак:
Код: plaintext
1.
2.
3.
4.
class Myobj{
      public:
			int num;
};
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как передать структуру в функцию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]