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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
#1

Ошибки VS - C++

06.05.2013, 13:55. Просмотров 483. Ответов 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: не удается восстановить после предыдущих ошибок; остановка компиляции
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2013, 13:55     Ошибки VS
Посмотрите здесь:

Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы - C# ASP.NET
Начал изучение ASP. Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы... А мне ОЧЕНЬ хотелось бы почитать, что...

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

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

Мне нужно всего лишь найти синтаксические ошибки, второй день ломаю голову, в условии есть ошибки - Lisp
Мне нужно всего лишь найти синтаксические ошибки, второй день ломаю голову, в условии есть ошибки. А в каком именно условии не знаю:( ...

На моем компе во время установки игры часто возникают ошибки, зависания и ошибки копирования файлов с установочного диска. - Windows XP
Добрый вечер! На моем компе во время установки игры часто возникают ошибки, зависания и ошибки копирования файлов с установочного диска....

ошибки в готовом коде(ошибки указаны) - Assembler
Ввести с клавиатуры строку (кол-во символов не больше 10). И определить ее длину c использованием подпрограмм. model small .stack 100h ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
06.05.2013, 14:02     Ошибки VS #2
У тебя даже отсутствует #include "stdafx.h"
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.05.2013, 14:06     Ошибки VS #3
supra7sky, вынесите реализацию в cpp-файл и будет Вам благо (скорее всего).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2013, 14:14     Ошибки VS
Еще ссылки по теме:

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

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

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

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...


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

Или воспользуйтесь поиском по форуму:
supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
06.05.2013, 14:14  [ТС]     Ошибки VS #4
Цитата Сообщение от Bend3r Посмотреть сообщение
У тебя даже отсутствует #include "stdafx.h"
А на кой мне сдался stdafx ? Не загаживай форум своими бестолковыми ответами.
Yandex
Объявления
06.05.2013, 14:14     Ошибки VS
Ответ Создать тему
Опции темы

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