Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2012, 20:25   #1
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию struct почему ошибка? и как надо?

Код:
#include <iostream>
#include <string>
using namespace std;


struct aaa
{
	int i;
	aaa *px;
};

aaa f1(int &i)
{
	aaa * pYY;
	pYY = new aaa;
	pYY->i=i;
	pYY->px=NULL;
	return *pYY;
}

int main()
{
	aaa * pXX; 
	int i=1;
	*pXX = f1(i); // ошибка, почему??? *pxx=*pyy 



	system("pause");
	return 0;
}
проще

Код:
#include <iostream>
#include <string>
using namespace std;


struct aaa
{
	int i;
	aaa *px;
};

int main()
{
	aaa * pXX; int i=1;
	aaa * pYY;
	
	pYY = new aaa;
	pYY->i=i;
	pYY->px=NULL;
	
	*pXX = *pYY; // вот, почему нельзя???



	system("pause");
	return 0;
}

Последний раз редактировалось Madmaxisss; 04.08.2012 в 20:31.
Madmaxisss вне форума Ответить с цитированием
Старый 04.08.2012, 20:35   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что пишет то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.08.2012, 20:36   #3
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Код HTML:
а что пишет то?
Run-Time Check Failure #3 - The variable 'pXX' is being used without being initialized.

Run-Time Проверить Неспособность # 3 - "PXX" переменная используется без инициализации

и как мне ее проинициализировать если она равна функции???

Последний раз редактировалось Madmaxisss; 04.08.2012 в 20:45.
Madmaxisss вне форума Ответить с цитированием
Старый 04.08.2012, 20:44   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну и правильно пишет, указатель то не инициизирован.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.08.2012, 20:49   #5
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну и правильно пишет, указатель то не инициизирован.
да без указателя можно
Код:
int main()
{
	aaa * pXX; int i=1;

	aaa * pYY;
	
	pYY = new aaa;
	pYY->i=i;
	pYY->px=NULL;
	
	pXX = pYY;



	system("pause");
	return 0;
}
а как быть в первом коде где f1()
Madmaxisss вне форума Ответить с цитированием
Старый 04.08.2012, 21:00   #6
Артём Волжанкин
Пользователь
 
Аватар для Артём Волжанкин
 
Регистрация: 07.07.2012
Сообщений: 99
По умолчанию

Проверь вот это в первом коде
Код:
	aaa * pYY;
	pYY = new aaa;
Человек
Артём Волжанкин вне форума Ответить с цитированием
Старый 04.08.2012, 21:05   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
да без указателя можно
сейчас вы написали присвоение указателей.
в первом же посту, у вас один указатель иницилизирован, а второй нет(в первом коде вообще не инициализирован)
а вы пытаетесь присвоить значение по этому указателю.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.08.2012, 21:09   #8
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Цитата:
Сообщение от Артём Волжанкин Посмотреть сообщение
Проверь вот это в первом коде
Код:
	aaa * pYY;
	pYY = new aaa;
а чё там проверять? в f1() нет ошибок

но у меня возникла идея. выделить память под pXX

Код:
#include <iostream>
#include <string>
using namespace std;


struct aaa
{
	int i;
	aaa *px;
};

aaa f1(int &i)
{
	aaa * pYY;
	pYY = new aaa;
	pYY->i=i;
	pYY->px=NULL;
	return *pYY;
}

int main()
{
	aaa * pXX; 
        pXX = new aaa; 

	int i=1;
	*pXX = f1(i); // ошибок нет, думаю правильно, как вы думаете???

	system("pause"); 
	return 0;
}
Madmaxisss вне форума Ответить с цитированием
Старый 04.08.2012, 21:21   #9
Артём Волжанкин
Пользователь
 
Аватар для Артём Волжанкин
 
Регистрация: 07.07.2012
Сообщений: 99
По умолчанию

рабоиает
Код:
#include <iostream>
#include <string>
using namespace std;


struct aaa
{
	int i;
	aaa *px;
};

aaa f1(int &i)
{
	//aaa * pYY;
	aaa  pYY;/// = new aaa;
	pYY.i=i;
	pYY.px=NULL;
	return pYY;
}

int main()
{
	aaa pXX; 
	int i=1;
	pXX = f1(i); // ошибка, почему??? *pxx=*pyy 
	cout << pXX.i;


	system("pause");
	return 0;
}
Человек
Артём Волжанкин вне форума Ответить с цитированием
Старый 04.08.2012, 21:22   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
// ошибок нет, думаю правильно, как вы думаете???
правильно.

кстати указатели было в общем то юзать тут не обязательно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему ошибка маГГ85 PHP 2 25.12.2011 17:28
паскаль работас фалами обясните почему ошибка и как исправить f= file of ysp; на of мигает и просит душки zavarka_dok Помощь студентам 1 22.11.2010 22:31
Почему IdHTTP выдает не тот текст что надо? Marsel737 Работа с сетью в Delphi 3 03.11.2010 21:09
Как можно передать переменную типа struct в качестве входных параметров функции kitty19 Помощь студентам 1 15.12.2009 17:43