Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
#1

почему не работает? - C++

13.02.2012, 23:02. Просмотров 368. Ответов 4
Метки нет (Все метки)

C++
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
49
50
51
52
53
#include "stdafx.h"
#include<iostream>
 
struct item;
item *Insert(item *tree);
item *InOrder(item *tree);
 
struct item
{
 int data;
 item *left;
 item *right;
 item *(*f)(item *tree);
};
// item *(*f)(item *tree);
 
item *Insert(item *tree)
{
 int s =1;
 item *p;
 if(tree == NULL)
 {
  p = new item;
  p->data = s;
  p->left = NULL;
  p->right = NULL;
  tree = p;
 }
 else
 {
  p = tree;
  if(s < p->data)Insert(p->left); else
  if(s > p->data)Insert(p->right);
 }
 return tree;
}
 
item *InOrder(item *tree)
{
 if(tree->left != NULL)InOrder(tree->left);
 if(tree->right != NULL)InOrder(tree->right);
 return tree;
}
void main(void)
{
 item *root = NULL;
 root->f=Insert;            //<<<<  Вот здесь
 root=root->f(root);
 root->f=InOrder;          //<<<<  Вот здесь
 root=root->f(root);
 std::cout<<root->data;
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 23:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос почему не работает? (C++):

Почему выводится в виде таблицы и почему не работает сортировка - C++
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы комнат? hotel.h #include...

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает - C++
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею в ввиду что сделал прогу которая меняет...

Почему не работает cin.clear() и как работает sync()? - C++
#include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; char*input(char*ch,int&amp;n){ cin.getline(ch,20); //cin.sync(); ...

Почему в динамическом массиве не работает то, что работает со статическим? - C++
Программа зависает #include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; using namespace std; int main() { ...

Почему в библиотеке не работает то, что спокойно работает в программе? - C++
День всем добрый! Я здесь решил собрать библиотеку для конструктора игр Game Maker. Хотел поэкспериментировать. Как всегда, у...

Не могу понять почему не работает (или правильно не работает) - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; int i,j; cout&lt;&lt;&quot;nachalnya...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
13.02.2012, 23:11 #2
Может быть
C++
1
item *root = new item();
Как же вы хотите достучаться до полей объекта, которого не существует?
1
M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
13.02.2012, 23:16  [ТС] #3
и куда ето вписать??????
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
13.02.2012, 23:19 #4
Вместо
C++
1
item *root = NULL;
нужно написать
C++
1
item *root = new item();
Потому что потом вы пишите
C++
1
root->f=Insert;
Т.е. пытаетесь получить доступ к полю объекта, которого не существует вовсе. Это неверно.
1
M@k7
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 165
13.02.2012, 23:23  [ТС] #5
Врод так
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2012, 23:23
Привет! Вот еще темы с ответами:

Теория. Почему в данном случае copy() не работает после reserve(), но работает после resize()? - C++
Есть такая функция: void Array::SetStartIndexes(sz3_Arr_t *array) { start_index.reserve(array-&gt;size()); ...

Работает в Borland Developer Studio 2006 но не работает в Visual Studio 2008, почему? - C++
Вводим строку и меняем в ней первый и последний символы. Всё хорошо в Borland Developer Studio, а Visual Studio 2008 пишет, что проэкт...

Почему не работает? - C++
#include &lt;iostream&gt;; #include &lt;cmath&gt;; #include &lt;vector&gt;; using namespace ::std; void main () { vector&lt;double&gt;temps; ...

Почему не работает? - C++
Почему не работет программа? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; #define N 10 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.02.2012, 23:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru