forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   В чем ошибка? (http://forum.boolean.name/showthread.php?t=16202)

JACUK 17.01.2012 01:05

В чем ошибка?
 
Вложений: 1
Кто знает как решить проблему?

Dream 17.01.2012 02:37

Ответ: В чем ошибка?
 
написано же - нельзя изменять указательна себя. где ты такому научился?

JACUK 17.01.2012 04:38

Ответ: В чем ошибка?
 
По памяти коечто и сам намудрил, как то так))Вопрос тогда поставлю так.
Вот код(очень бредово?) как сделать метод Add?
PHP код:

using System;

namespace 
ClassLibrary
{
    public class 
BinaryTree
    
{
        public 
BinaryTree Left;
        public 
BinaryTree Right;
        public 
BinaryTree Parent;
        public 
string value;
        public 
BinaryTree()
        {
            
Left null;
            
Right null;
            
Parent null;
            
value null;
        }
        public 
void Print(BinaryTree r)
        {
            if (
== null) return;
            Print(
r.Left);
            if (
r.value != null)
            {
                
Console.Write(" " r.value " ");
            }
            Print(
r.Right);
        }
        public 
void Print()
        {
            Print(
this);
        }
        public 
void Add(string s)
        {
            
BinaryTree t = new BinaryTree();
            
this t;
            
t.Parent this;
            
t.value s;
        }             
    }



pax 17.01.2012 09:23

Ответ: В чем ошибка?
 
Вообще хорошо бы иметь ссылки на "детей"... посмотри, может тебе это подойдет:
http://usings.ru/2009/06/14/tree-t/

HolyDel 17.01.2012 12:00

Ответ: В чем ошибка?
 
Код:

        public void Add(string s)
        {
            BinaryTree t = new BinaryTree();
            this = t;
            t.Parent = this;
            t.value = s;
        }

...
Код:

            BinaryTree t = new BinaryTree();
            this = t;
            t.Parent = this;

....
Код:

    this = t;
this = t;
разве так можно делать? Разве стандартная семантика Add не вроде:
Код:

      public BinaryTree Add(string s)
        {
            BinaryTree t = new BinaryTree();
            t.Parent = this;
            t.value = s;
            return t;
        }

?

pax 17.01.2012 12:03

Ответ: В чем ошибка?
 
Цитата:

Сообщение от HolyDel (Сообщение 217032)
разве так можно делать?

Естественно нельзя)

JACUK 17.01.2012 15:08

Извините, но пока учусь! Некоторые вещи понимаю не до конца.

Или вобще не понимаю:( Но думаю это дело времени и желания:)


Часовой пояс GMT +4, время: 22:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot