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

Преобразование типов. Не конструктор не видит класс - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строквой литерал в двоичном представлении http://www.cyberforum.ru/cpp-beginners/thread888526.html
Добрый день. В учебнике есть задание: составить пользовательский тип который может вместить значение факториала числа 1000 с абсолютной точностью. На данном этапе мне необходимо считать со строки значение и перевести его в бинарное представление (т.е. инициализировать мой тип данных). Как это сделать? Перевести в целочисленный аргумент с последующим делением на 2 и взятием остатка, как мне...
C++ Ошибка при работе с dll - невозможно преобразовать параметр пишу прогу, функции передаются с dll, выдает ошибку в строке HINSTANCE mydll = LoadLibrary ("my_dll.dll"); error C2664: LoadLibraryW: невозможно преобразовать параметр 1 из "const char " в "LPCWSTR" почему ругается?( в 1 раз с dll работаю( http://www.cyberforum.ru/cpp-beginners/thread888516.html
Ошибка в функции C++
#include <iostream> #include <conio.h> #include <Windows.h> #include <iomanip> using namespace std; char bufUkr; char *Ukr(const char* text) {
C++ Сделать что-бы строка бралась с файла (определить отношение количества гласных букв в предложении к согласным)
Задание: Определить отношение количества гласных букв в предложении к согласным. код:#include <iostream> #include <conio.h> #include <string> #include <cctype> using namespace std; int main() { string a;
C++ Зеркально поменять местами разряды младшего байта четных чисел, затем определить максимальное число в массиве и его индекс http://www.cyberforum.ru/cpp-beginners/thread888494.html
Помогите! Очень срочно! Нужно написать программу: 2. Зеркально поменять местами разряды младшего байта четных чисел, затем определить максимальное число в массиве и его индекс Желательно с пояснениями!!))) Заранее Спасибо)
C++ Матрица из разных типов хочу создать клас Matrix елементы обьектов которого могли бы быть разных типов. была идея создать клас Cell и определить его как шаблонный клас, но тогда и в класе матрици надо будет задавать тип, а я не знаю какой тип будет у каждой отдельной ячейки подскажите пожалуйста в какую сторону двигаться подробнее

Показать сообщение отдельно
Aziikus
 Аватар для Aziikus
0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 27
02.06.2013, 20:52     Преобразование типов. Не конструктор не видит класс
Здравствуйте. В коде ниже, я хотел реализовать конвертер длин. Я создал 2 класса и при помощи 2 конструкторов хотел решить проблему преобразования типов. Если оставить один конструктор, то все работает, а с двумя выводит ошибку. Я начинающий и не могу додуматься как её можно исправить. Помогите решить эту проблему.

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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include<locale.h>
using namespace std;
int vibor;
void menu();
class Metrik
{
private:
    float zn1;
public:
    Metrik():zn1(0) // конструктор без аргументов
    {}
    Metrik(Amerik);
    Metrik(float z):zn1(z)// конструктор с аргументами для передачи в них данных
    {}
    float izprivata1(){return zn1;}
    void display()
    {
        cout<<"Переведенное значение равно:  "<<zn1;
    }
};
 
 class Amerik
{
private:
    float zn2;
public:
    Amerik():zn2(0)
    {}
    Amerik(Metrik);
    Amerik(float z):zn2(z)
    {}
    void display()
    {
        cout<<"Переведенное значение равно:  "<<zn2;
    }
    float izprivata2(){return zn2;}
 
};
 
Metrik::Metrik (Amerik perevod2)
{
switch(vibor)
{
    case 74:
        {
        zn1= perevod2.izprivata2()*0.9144;
        } break;
    case 75:
        {
        zn1= perevod2.izprivata2()*0.0009144;
        } break;
    case 84:
        {
            zn1= perevod2.izprivata2()*1609;
        } break;
    case 85:
        {
            zn1= perevod2.izprivata2()*1.609;
        } break;
    }
}
 
 
 
Amerik::Amerik(Metrik perevod1)
{ switch(vibor)
{
case 47:
    {
        zn2= perevod1.izprivata1()*1.0936;
    } break;
case 48:
    {
    zn2= perevod1.izprivata1()*0.0006214;
    } break;
case 57:
    {
    zn2= perevod1.izprivata1()*1094;
    } break;
case 58:
    {
    zn2= perevod1.izprivata1()*0.6214;
    } break;
 
}
 
}
 
 
int main()
{ setlocale(LC_ALL,"RUS");
int a;
int n=1;
while(n!=0) {
 menu();
 cin>>vibor;
 cout<<"Введите значение для перевода: ";
 cin>>a;
 if (vibor==47||48||57||58)
 {
     Metrik perevod1(a);
 Amerik perevod2=perevod1;
 perevod2.display();
 }
 else
 {
     Amerik perevod2(a);
     Metrik perevod1=perevod2;
     perevod1.display();
 }
 cout<<"\nЕсли хотите звново конверитировать данные нажмите 1, если хотите выйти из программы, нажмите 0"<<endl;
 cin>>n;
}
exit(0);
}
void menu()
{
    cout<<"Здравствуйте. Вас приветствует конвертер длин."<<endl
            <<"Чтобы начать работу выберите из какой величины в какую вы будете конвертировать данные:"<<endl
            <<"1. Миллиметры."<<endl
            <<"2. Сантиметры."<<endl
            <<"3. Децеметры."<<endl
            <<"4. Метры."<<endl
            <<"5. Километры."<<endl
            <<"6. Дюймы."<<endl
            <<"7. Ярды."<<endl
            <<"8. Мили."<<endl
            <<"Пример: Вы хотите перевести миллиметры в ярды, для этого нужно ввести число 17. Где, 1 - это величина которую вы переводите, 7 -
 
величина в которую конвентируется величина 1. Далее можно вводить велечину."<<endl;
}
Ошибки:
Кликните здесь для просмотра всего текста
||=== фыфыф, Debug ===|
D:\Documents\Documents\фыфыф\main.cpp|14|error: field `Amerik' has incomplete type|
D:\Documents\Documents\фыфыф\main.cpp|43|error: prototype for `Metrik::Metrik(Amerik)' does not match any in class `Metrik'|
D:\Documents\Documents\фыфыф\main.cpp|8|error: candidates are: Metrik::Metrik(const Metrik&)|
D:\Documents\Documents\фыфыф\main.cpp|15|error: Metrik::Metrik(float)|
D:\Documents\Documents\фыфыф\main.cpp|12|error: Metrik::Metrik()|
D:\Documents\Documents\фыфыф\main.cpp||In function `int main()':|
D:\Documents\Documents\фыфыф\main.cpp|110|error: conversion from `Amerik' to non-scalar type `Metrik' requested|
D:\Documents\Documents\фыфыф\main.cpp||In function `void menu()':|
D:\Documents\Documents\фыфыф\main.cpp|130|error: missing terminating " character|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\226' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\229' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\235' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\232' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\247' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\232' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\237' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\224' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\226' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\234' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\238' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\242' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\238' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\240' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\243' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\254' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\234' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\238' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\237' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\226' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\229' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\237' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\242' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\232' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\240' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\243' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\229' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\242' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\241' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\255' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\226' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\229' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\235' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\232' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\247' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\232' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\237' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\224' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\196' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\224' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\235' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\229' in program|
D:\Documents\Documents\фыфыф\main.cpp|132|error: stray '\229' in program|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings (0 minutes, 0 seconds) ===|

Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru