0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 13
1

При компиляции проекта из нескольких файлов Visual Studio выдает множество ошибок

28.03.2017, 22:27. Показов 2655. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Долго маюсь с данной проблемой, искал на форуме и поисковых системах, но ответа не нашёл.
При компиляции достаточно несложной программы, состоящей из нескольких файлов, Visual Studio выдаёт большое количество странных ошибок.
Например:
Ошибка 43 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "s" \cdictionary\cstrcomponent.h 8 1 CDictionary
Ошибка 44 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию \cdictionary\cstrcomponent.h 8 1 CDictionary
Ошибка 4 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "FileName" \cdictionary\cfile.h 9 1 CDictionary


Однако в соответствующих файлах таких ошибок, вроде, нет.
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
#pragma once
 
#include <iostream>
#include <string>
class CStrComponent
{
    string s; //Строка, которую требуется распознать
    string StrDividers; //Символы-разделители
    string *p; //Массив строк (компонент), на которые была разбита распознаваемая строка
    unsigned long n; //Количество строк в массиве. Модификатор unsigned означает беззнаковое число. Если написать unsigned int, это будет число в диапазоне от 0 до 65535 (без отрицательного диапазона)
public:
    CStrComponent();
    CStrComponent(CStrComponent &);
    CStrComponent(string, string); //Конструктор, принимающий строку для распознавания и строку символов-разделителей и создающий объект класса
    ~CStrComponent();
    string& operator [](unsigned long); //Ссылочный тип (string &) ставим для того, чтобы функция, отвечающая за перегрузку операции, могла быть LV-выражением (операндом в левой части, которому можно присваивать значение)
    CStrComponent& operator =(string const &);
    unsigned long Quantity();
    void SetString(string); //Установить строку для распознавания
    void SetStrDividers(string); //Установить строку символов-разделителей
    void Resize(unsigned long); //Изменить размер массива строк
    void RecognizeString(); //Разбить строку на составляющие с учётом символов-разделителей
    void PrintString();
    void PrintComponents(); //Напечатать массив распознанных компонент
};
Помогите, пожалуйста, разобраться, почему не компилируется. Файлы проекта (архив RAR) прилагаются.
Вложения
Тип файла: rar CDictionary.rar (2.58 Мб, 1 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2017, 22:27
Ответы с готовыми решениями:

Проблемы при компиляции простейшего проекта в Visual Studio
Давно, очень давно не садился за программирование, сегодня решил тряхнуть стариной, написать хотя...

подскажите ,что делать если при компиляции проекта Visual Studio вылетает ошибка:«не опознанный идентификатор»!?
подскажите ,что делать если при компиляции проекта Visual Studio вылетает ошибка:«include: не...

Ошибки при компиляции проекта в Visual Studio
Всем привет. Помогите настроить VS Вот пошаговые действия: нажимаю создать проект и выбираю...

Как задать при компиляции проекта Visual Studio в командной строке конфигурацию?
9.. Как задать при компиляции проекта Visual Studio в командной строке конфигурацию, в которой...

6
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
28.03.2017, 22:39 2
Цитата Сообщение от TTC Посмотреть сообщение
C++
1
string s;
C++
1
std::string s;
и т.д.
0
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 13
29.03.2017, 05:40  [ТС] 3
Спасибо за совет!
Добавил в файлах using namespace std;
Осталось 3 warning и 1 ошибка:
Предупреждение 1 warning C4627: #include "cstrcomponent.h": пропущен при поиске использования предкомпилированного заголовка CDictionary\cstrcomponent.cpp 1 1 CDictionary
Предупреждение 2 warning C4627: #include <string>: пропущен при поиске использования предкомпилированного заголовка CDictionary\cstrcomponent.cpp 2 1 CDictionary
Предупреждение 3 warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка CDictionary\cstrcomponent.cpp 3 1 CDictionary
Ошибка 4 error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник. CDictionary\cstrcomponent.cpp 126 1 CDictionary


Однако если добавить в файле cstrcomponent.cpp директиву #include "stdafx.h", то выскакивает 2 десятка непонятных ошибок.
Что с этим делать?
Новая версия проекта во вложенном файле.
Вложения
Тип файла: rar CDictionary2.rar (6.38 Мб, 1 просмотров)
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
29.03.2017, 12:48 4
Цитата Сообщение от TTC Посмотреть сообщение
Добавил в файлах using namespace std;
В заголовочных файлах не рекомендуется использовать using namespace std; или using::, только std::
0
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 13
29.03.2017, 16:34  [ТС] 5
С этим понятно. Исправлю на std::string и т.д.
А как быть с оставшейся 1 ошибкой?
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
29.03.2017, 20:13 6
TTC, см. свойства проекта - предварительно скомпилированные заголовки.
Миниатюры
При компиляции проекта из нескольких файлов Visual Studio выдает множество ошибок  
0
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 13
30.03.2017, 00:10  [ТС] 7
Спасибо, проект теперь компилируется.
Однако только что заметил, что не удаётся запустить отладку. Выскакивает вот такое сообщение об ошибке.
Что с этим делать?
Миниатюры
При компиляции проекта из нескольких файлов Visual Studio выдает множество ошибок  
0
30.03.2017, 00:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2017, 00:10
Помогаю со студенческими работами здесь

Настроить Visual Studio, чтобы при компиляции проекта ошибки подчеркивались красным цветом
Как настроить Visual Studio чтобы при компиляции проекта ошибки компилляции подчеркивались красным...

Множество ошибок при компиляции
Добрый день , столкнулся с такой ситуацией - при компиляции компилятор выдаёт кучу ошибок, вы...

Множество ошибок при компиляции.
Блин. Извините, но будет ещё один вопрос. Так как новичёк, то много не знаю. Вот программный код:...

Множество ошибок в проекте Visual Studio после небольшого изменения кода
Работал над проектом, писал код как обычно. В процессе написания постоянно собираю проект. Вот...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru