Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.10.2017
Сообщений: 7
1

Ошибки при конвертировании кода

09.10.2017, 21:46. Просмотров 652. Ответов 3
Метки нет (Все метки)


Привет, уважаемые коллеги!! Написал программу на C++ , она работает, вот её код:
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
class Complex{ 
private:
    double x, y;
public:
 
    Complex();
    Complex(double, double);
    Complex(Complex &);
    friend Complex plus(Complex&, Complex&);
    void assign(Complex&);
    friend void print(Complex&);
};
Complex::Complex() :x(0.0), y(0.0)
{
}
 
Complex::Complex(double x1, double y1) : x(x1), y(y1)
{
}
Complex::Complex(Complex &obj)
{
    x = obj.x;
    y = obj.y;
}
Complex plus(Complex &a1, Complex &a2)
{
    double xa, ya;
    xa = a1.x + a2.x;
    ya = a1.y + a2.y;
    return Complex(xa, ya);
}
void Complex::assign(Complex &a1_res)
{
    x = a1_res.x;
    y = a1_res.y;
}
void print(Complex &a1_show)
{
    std::cout << "x = " << a1_show.x << "\t" << "y=" << a1_show.y << std::endl;
}
int main()
{
    setlocale(LC_ALL, "Russian");
    Complex a1(1.3, 4.2), a2(4.0, 8.1), a3(a2);
    a3.assign(plus(a1, a2));
    print(plus(a2, a3));
    system("pause");
    return 0;
}

На чистом C++, она работает и выполняется. Переписал на C++/CLI , привожу код, помогите пожалуйста исправить:

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "stdafx.h"
#include "Complex.h"
using namespace System;
 
ref class Complex
{
private:
 
    double x, y;
 
public:
    Complex() {};
    Complex(double _x, double _y)
    {
        x = _x; y = _y;
    };
    void plus(double _x, double _y);
    void print();
    double getX();
    double getY();
    void assignX(int _x);
    void assignY(int _y);
    ~Complex();
};
 
 
double Complex::getX()
{
    return x;
}
 
 
double Complex::getY()
{
    return x;
}
void Complex::assignX(int _x) {
    x = _x;
}
void Complex::assignY(int _y) {
    y = _y;
}
 
Complex::Complex() :x(0.0), y(0.0)
{
}
 
void plus(double _x, double _y)
{
    double xrez, yrez;
    xrez = _x->x
        y = c->y;
}
 
Complex^Complex::Plus(double _x, double _y)
{
    double xp, yp;
    xp = _x-> + c2->x;
    yp = c1>y + c2->y;
    return gcnew Complex(xp, yp);
}
Complex^ Complex::Assign(Complex ^c_rez)
{
    x = c_rez->x;
    y = c_rez->y;
    return this;
}
void print()
{
    System::Console::WriteLine("x = " + x + "; y = " + y);
}
 
Complex::~Complex() {};
 
int main(array<System::String ^> ^args)
{
    Complex^ c1 = gcnew Complex(1.3, 4.2);
    Complex^ c2 = gcnew Complex(4.0, 8.1);
    Complex^ c3 = gcnew Complex(c1);
    c3->Assign(Plus(c1, c2));
    (Plus(c2, c3)).Print();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2017, 21:46
Ответы с готовыми решениями:

Ошибки при компоновке кода с шаблонами
Работаю в Visual Studio 2015, создаю Windows Form. Создал файл &quot;calculus.h&quot; с заголовком...

Ошибки при компиляции кода с fstream
Здравствуйте! При работе с библиотекой fstream появились странные ошибки даже при компилировании...

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class mob { public: void...

Ошибка при конвертировании
Здраствуйте, кто знает как решить такую проблему вот на скрине

3
986 / 844 / 201
Регистрация: 29.09.2015
Сообщений: 980
10.10.2017, 21:56 2
Предлагаю вам заново всё внимательно переписать
1. Набор методов отличаются от набора в скелете
2. Если вы давно в С++, то должны знать, что должна быть строгая привязка к регистру букв в наименовании методов по скелету класса
3. И вообще стараться не мешать все методы класса и скелет класса, а также методы не входящий в класс на одну страницу. Есть общепринятая практика, скелет в заголовочный файл *.h, методы в *.cpp (1 - методы для класса, 2 - остальные методы, 3 - исполняющий код)
0
0 / 0 / 0
Регистрация: 09.10.2017
Сообщений: 7
10.10.2017, 22:00  [ТС] 3
Я делал в .h и .cpp файлах и всё равно ошибки
0
986 / 844 / 201
Регистрация: 29.09.2015
Сообщений: 980
10.10.2017, 23:02 4
software15, тут главный упор про "внимательно"

Добавлено через 48 минут
Все один в один с синтаксисом для cli, кроме метода печати результата
Кликните здесь для просмотра всего текста
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
54
using namespace System;
 
ref class Complex{
private:
    double x, y;
public:
 
    Complex();
    Complex(double, double);
    Complex(Complex ^);
    static Complex ^plus(Complex ^, Complex ^);
    void assign(Complex ^);
    static void print(Complex ^);
};
Complex::Complex() :x(0.0), y(0.0)
{
}
 
Complex::Complex(double x1, double y1) : x(x1), y(y1)
{
}
Complex::Complex(Complex ^obj)
{
    x = obj->x;
    y = obj->y;
}
Complex ^Complex::plus(Complex ^a1, Complex ^a2)
{
    double xa, ya;
    xa = a1->x + a2->x;
    ya = a1->y + a2->y;
    return gcnew Complex(xa, ya);
}
void Complex::assign(Complex ^a1_res)
{
    x = a1_res->x;
    y = a1_res->y;
}
void Complex::print(Complex ^a1_show)
{
    Console::WriteLine("x = {0}\ty = {1}",a1_show->x,a1_show->y);
 
}
int main(array<System::String ^> ^args)
{
    Complex ^a1 = gcnew Complex(1.3, 4.2);
    Complex ^a2 = gcnew Complex(4.0, 8.1);
    Complex ^a3 = gcnew Complex(a2);
 
    a3->assign(Complex::plus(a1, a2));
    Complex::print(Complex::plus(a2, a3));
    Console::ReadLine();
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.10.2017, 23:02

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Исключение при конвертировании
static void Main(string args) { string s = &quot;201.80&quot;; double d =...

Ошибка в при конвертировании ID в phpMyadmin
есть код OdbcConnection MyConnection; // составим строку подключения ...

Ошибка при конвертировании типов
Здравствуйте! Такая ситуация! Есть TextBox и Button по нажатию Button текст TextBox'a должен...

Артефакты при конвертировании (Xilisoft)
При попытке перегнать mkv - x264 (Hi10p) в vob, получаю артефакты, схожие с теми, что на картинке....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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