Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 10

Ошибка при обращению к классу

09.07.2009, 14:22. Показов 1489. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
namespace Triangle {
 
class Edge;
 
public class Point
{
public:
    double x;
    double y;
    Point(double xx = 0.0, double yy = 0.0)
    {
        x = xx;
        y = yy;
    }
    Point(Point&);
    Point& operator=(Point&);
    Point operator+(Point&);  
    Point operator-(Point&);  
    Point operator*(double);
    double operator[](int);
    int operator== (Point&);
    int operator!= (Point&);
    int operator<(Point&);
    int operator>(Point&);  
    int classify(Point&, Point&);
    int classify(Edge&);
    double polarAngle(); 
    double length();  
    double distance(Edge&);  
};
есть отакая штука, это часть библиотеки на С++


Это часть обращения к классу
C#
1
2
3
4
5
6
7
8
9
10
11
            int x, y;
            Graphics gr = pictureBox1.CreateGraphics();
            Random rnd = new Random();
            Triangle.Point[] p = new Triangle.Point[100];
            for (int i = 0; i < 100; i++)
            {
                x = rnd.Next(pictureBox1.Width);
                y = rnd.Next(pictureBox1.Height);
                gr.DrawRectangle(new Pen(Color.Black), x, y, 1, 1);
                p[i].x = x;
            }
при обращении p[i].x оно дико матерится =( почему? Вроже ж паблик, в референсах есть... а обжект браузер говорит public : double Triangle::Point::x


Error 7 'Triangle.Point' does not contain a definition for 'x' and no extension method 'x' accepting a first argument of type 'Triangle.Point' could be found (are you missing a using directive or an assembly reference?) D:\Мои документы\Visual Studio 2008\Projects\RMS\RMS\FMain.cs 40 22 RMS
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2009, 14:22
Ответы с готовыми решениями:

Ошибка при обращению к полям класса, если их более одного
Всем привет. Возникла такая проблема. Необходимо реализовать: public DbSet&lt;User&gt; Users { get; set; } public...

Ошибка при обращению к свойствам формы
Помогите исправить ошибки, когда мне нужно вызвать цвет или шрифт или поиск в текстовом редакторе, возникает така ошибка:...

При обращению к классу возникает 91 ошибка
Const M As Integer = 100 Dim Student(M) As School Dim F, N, S, T As Integer _______________________________________ Private Sub...

8
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
09.07.2009, 14:38
если я не окончательно забыл ооп в сишке то в строке
C#
1
Triangle.Point[] p = new Triangle.Point[100];
должно быть два параметра, так как в конструкторе
C++
1
2
3
4
5
        Point(double xx = 0.0, double yy = 0.0)
        {
                x = xx;
                y = yy;
        }
у тебя два параметра. Т.е. код должен выглядеть примерно так
C#
1
2
3
4
5
6
7
            for (int i = 0; i < 100; i++)
            {
                x = rnd.Next(pictureBox1.Width);
                y = rnd.Next(pictureBox1.Height);
                gr.DrawRectangle(new Pen(Color.Black), x, y, 1, 1);
                p[i] = new p(x, y);
            }
0
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 10
09.07.2009, 14:46  [ТС]
Не работает...
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
09.07.2009, 14:56
Судя по подсветке синтаксиса p[i] обращается к х как к методу или свойству, а должен как к переменной, при этом ты даже не создаешь ни одного обьекта класса Point. а надо бы
C#
1
p[i] = new p(x, y);
вот как раз и есть создание обьекта. а что сейчас пишет?
0
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 10
09.07.2009, 15:07  [ТС]
C#
1
Triangle.Point[] p = new Triangle.Point[100];
это создание массива объектов

C#
1
p[i].x = x;
это обращение к свойству объекта... Дело в том, что он это свойство не видит совершенно!
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
09.07.2009, 15:11
покажи код как свойство описал
0
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 10
09.07.2009, 15:22  [ТС]
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
namespace Triangle {
 
class Edge;
 
public class Point
{
public:
        double x;
        double y;
        Point(double xx = 0.0, double yy = 0.0)
        {
                x = xx;
                y = yy;
        }
        Point(Point&);
        Point& operator=(Point&);
        Point operator+(Point&);  
        Point operator-(Point&);  
        Point operator*(double);
        double operator[](int);
        int operator== (Point&);
        int operator!= (Point&);
        int operator<(Point&);
        int operator>(Point&);  
        int classify(Point&, Point&);
        int classify(Edge&);
        double polarAngle(); 
        double length();  
        double distance(Edge&);  
};
Ладно, задам вопрос по другому....
Как правильно обращаться к классу C++ из проекта на C#?
При просмотре оно выдает пустой класс....
C#
1
2
3
4
5
6
7
8
9
10
11
using System;
using System.Runtime.CompilerServices;
 
namespace Triangle
{
    [NativeCppClass]
    [CLSCompliant(false)]
    public struct Point
    {
    }
}
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
09.07.2009, 15:28
все равно ты не написал как свойство описал. Вообще-то соединение C++ + C# маложизнеспособно, поэтому я никогда этого не делал, да и немногие это вообще делают. Поэтому не знаю, попробуй длл собрать из него. А знаеш, помоему проще этот класс на шарп переписать и не мучатся
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
10.07.2009, 03:46
В одном проекте не соединить C# и C++. Либо перепишите класс Point на C#, либо соберите и подключите как dll.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.07.2009, 03:46
Помогаю со студенческими работами здесь

Ошибка при обращению к индексам
Здравствуйте, стоит задача:&quot;Закодировать текстовый файл методом цезаря и бла бла бла...&quot; С билдером не дружу вообще :( Шифрую с ключом...

Ошибка при обращению из потока к элементу управления
Добрый всем День! Пробую учебную программку по потокам. VS выдает ошибку. Сам не разберусь. Public Class Form1 Dim Поток1 As New...

Ошибка при обращению к серверу (сокеты) ftp.
При реализации функции передачи данных от сервера ftp клиенту выдает ошибку &quot;Invalid Patch!&quot;... Может я неправильно прописываю путь?...

[NASM] Ошибка при обращению к стеку FPU
Добрый день. Начал писать программу и застопорился на работе со стеком FPU. Вот то, что пока что написал: %include &quot;io.inc&quot; ...

Ошибка при обращении к классу
Доброго времени суток. Использую RAD Studio 2007 и возникла следующая проблема: не могу обратиться к элементам ии функциям созданного...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru