Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
15 / 15 / 5
Регистрация: 07.02.2013
Сообщений: 123
1

Ошибки VS

06.05.2013, 13:55. Просмотров 560. Ответов 3
Метки нет (Все метки)

Скомпилил проект с классом Material с пустым мейном, все ок.
Добавил новый заголовочный файл functions.h, скомпилил - ошибки связанные с Material. Удалил этот functions.h, ошибки продолжаются.
В файле Material.h ничего не менял, даже не заглядывал туда.
- Ошибки бредовые
Попробуйте скомпилировать у себя этот класс, отпишитесь что получится или может знаете как это решить...?

Содержимое файла:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
using namespace std;
 
class Material {
public:
    string name;
    unsigned count;
    float price_one,
         _price_all;
// Конструкторы
    Material(string NAME, unsigned COUNT, float PRICE_ONE);
    Material(const Material &);
 
// Инициализация
    void Init(string NAME, unsigned COUNT, float PRICE_ONE);
 
// Логические операторы
    bool operator<  (Material );
    bool operator<= (Material );
    bool operator== (Material );
    bool operator!= (Material );
    bool operator>= (Material );
    bool operator>  (Material );
 
//Ввод/Вывод
    friend istream &operator>> (istream &stream, Material &obj);
    friend ostream &operator<< (ostream &stream, Material &obj);
    
    struct Header {
        friend ostream &operator<< (ostream &stream, Header);
    };
    struct Footer {
        friend ostream &operator<< (ostream &stream, Footer);
    };
};
 
/* Конструкторы */
Material::Material(string NAME = "No_name", unsigned COUNT = 0, float PRICE_ONE = 0) {
     name = NAME;
     count = COUNT;
     price_one = PRICE_ONE;
    _price_all = price_one * count;
}
 
Material::Material(const Material &OBJECT) {
    name = OBJECT.name;
    count = OBJECT.count;
    price_one = OBJECT.price_one;
    _price_all = OBJECT._price_all;
}
 
/* Инициализация */
void Material::Init(string NAME, unsigned COUNT = 0, float PRICE_ONE = 0)
{
     name = NAME;
     count = COUNT;
     price_one = PRICE_ONE;
    _price_all = price_one * count;
}
 
/* Логические операторы */
bool Material::operator < (Material R_OPER) {
    return name < R_OPER.name;
}
 
bool Material::operator<= (Material R_OPER) {
    return name <= R_OPER.name;
}
 
bool Material::operator== (Material R_OPER) {
    return name == R_OPER.name;
}
 
bool Material::operator!= (Material R_OPER) {
    return name != R_OPER.name;
}
 
bool Material::operator>= (Material R_OPER) {
    return name >= R_OPER.name;
}
 
bool Material::operator > (Material R_OPER) {
    return name > R_OPER.name;
}
 
/* Ввод/Вывод */
istream &operator>> (istream &stream, Material &obj) {
    cin.sync();
    cout << "\nМатериал: ";       getline(cin, obj.name);
    cout << "Количество: ";         stream >> obj.count;
    cout << "Цена за единицу: ";  stream >> obj.price_one;
    obj._price_all = obj.count * obj.price_one;
    return stream;
}
 
ostream &operator<< (ostream &stream, Material &obj) {
    stream << endl 
           << obj.name << "\t\t|";
    stream << obj.count << "\t\t|";
    stream << obj.price_one << "\t\t|";
    stream << obj._price_all << endl;
    return stream;
}
 
ostream &operator<< (ostream &stream, Material::Header notused) {
    stream << "\n_____________________________________________________________________________"
           << "\nНаименование основных средств\t|Количество\t|Цена за ед.\t|Цена"
           << "\n-----------------------------------------------------------------------------";
    return stream;
}
 
ostream &operator<< (ostream &stream, Material::Footer notused) {
    stream << endl
           << "----------------------------------------------------------------------------";
    return stream;
}
 
namespace material {
    Material::Header header;
    Material::Footer footer;
};


Список ошибок:
Кликните здесь для просмотра всего текста
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(5): error C2011: Material: переопределение типа "class"
1> c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(5): см. объявление "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2027: использование неопределенного типа "Material"
1> c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(5): см. объявление "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "NAME"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "NAME"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2079: "string" использует неопределенный class "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2440: инициализация: невозможно преобразовать "const char [8]" в "int"
1> Не существует контекста, в котором такое преобразование возможно
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2062: тип "unsigned int" не требуется
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2059: синтаксическая ошибка: )
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(46): error C2027: использование неопределенного типа "Material"
1> c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(5): см. объявление "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(46): error C2226: синтаксическая ошибка: непредвиденный тип "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(46): error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(46): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(54): error C2027: использование неопределенного типа "Material"
1> c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(5): см. объявление "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(54): error C2872: string: неоднозначный символ
1> может быть "c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39) : int string"
1> или "c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring(2063) : std::string"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(54): error C2872: string: неоднозначный символ
1> может быть "c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(39) : int string"
1> или "c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring(2063) : std::string"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(54): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "NAME"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(54): error C2182: Init: недопустимое использование типа "void"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(54): error C2059: синтаксическая ошибка: )
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(55): error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(55): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(63): error C2027: использование неопределенного типа "Material"
1> c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(5): см. объявление "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(63): error C2027: использование неопределенного типа "Material"
1> c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(5): см. объявление "Material"
1>c:\users\user\documents\visual studio 2010\projects\supra\supra\material.h(63): fatal error C1903: не удается восстановить после предыдущих ошибок; остановка компиляции
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2013, 13:55
Ответы с готовыми решениями:

Компьютер был перезагружен после критической ошибки. Код ошибки: 0x0000000a
Компьютер был перезагружен после критической ошибки. Код ошибки: 0x0000000a (0x0000000000000048,...

Найти ошибки в данной программе (известно что есть только 2 ошибки)
У меня в модуле с програмирования задание: Найти ошибки в данной программе (известно что есть...

Ошибки после компиляции на Visual Express 2012.Ошибки в теме
Добрый вечер ребят помогите пожалуйста.Программа написана на Visual Express 2012.Обясните что...

Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы
Начал изучение ASP. Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы......

3
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
06.05.2013, 14:02 2
У тебя даже отсутствует #include "stdafx.h"
0
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
06.05.2013, 14:06 3
supra7sky, вынесите реализацию в cpp-файл и будет Вам благо (скорее всего).
1
15 / 15 / 5
Регистрация: 07.02.2013
Сообщений: 123
06.05.2013, 14:14  [ТС] 4
Цитата Сообщение от Bend3r Посмотреть сообщение
У тебя даже отсутствует #include "stdafx.h"
А на кой мне сдался stdafx ? Не загаживай форум своими бестолковыми ответами.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2013, 14:14

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

Windows XP на HP compaqt 6220 ошибки при установке, как убить эти ошибки
Всех приветствую уважаемые Комрады ,форумчане не проходите мимо помогите откликнитесь мучаюсь уже...

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h...

При повторном появлении ошибки обработка ошибки не срабатывает
Логика: - Пользователь. Нажимает кнопку; - Код . Создаёт &quot;Recordset&quot; &quot;rstStud&quot;(студенты) и...

Не удалось инициализировать SAM из-за следующей ошибки: Присоединенное к системе устройство не работает. Состояние ошибки: 0xc0000001
Добрый день форумчане. На работе одна женщина после месяца отпуска напрочь забыла пароль от своей...


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

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

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