Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/75: Рейтинг темы: голосов - 75, средняя оценка - 4.88
6 / 6 / 5
Регистрация: 20.09.2016
Сообщений: 59
1

Исправить ошибку: 'string' does not name a type

10.11.2016, 00:19. Просмотров 14316. Ответов 12
Метки нет (Все метки)

Только начал изучать Qt. Есть задача, которую надо сделать без средств Qt, а просто на c++ и консоли.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include "printable.h"
#include <string>
 
 
#define us unsigned short
 
class Employee:public Printable
{
private:
    std::string _name;
    std::string _phone_num;
    std::string _adress;
    us _salary;
    us _get_start;
public:
    Employee();
    std::string GetName();
};
 
#endif // EMPLOYEE_H
вот объявление класса, но везде, где используется string выдает ошибку: 'string' does not name a type. Как её исправить, объясните пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2016, 00:19
Ответы с готовыми решениями:

Исправить ошибку Method must have a return type
Задание такое) Дана строка чисел через запятую. Сформировать новую строку, состоящую из чисел...

Как исправить ошибку The type 'JFrame' is not API ?
Description Resource Path Location Type Access restriction: The type 'JFrame' is not API...

Как исправить ошибку StreamCorruptedException: invalid type code: AC
В файле есть 5 пользователей которые нужно добавить в HashSet, но при попытке это сделать возникает...

Как исправить ошибку operator not applicable to this operand type, строка с if(28)
var c,min,b,d,i,n: Integer; a: array of integer; begin min:=10000000; d:=1; while d=1...

12
Заблокирован
10.11.2016, 00:47 2
Цитата Сообщение от wolfdaver_77 Посмотреть сообщение
. Как её исправить, объясните пожалуйста.
В коде Qt можно писать всё, что и без него. #include <string> Должно работать, может у тебя там что - то с двойными включениями или что - то в этом духе... В общем по этому отрывку ничего не скажешь, прикрепляй архив с проектом
0
6 / 6 / 5
Регистрация: 20.09.2016
Сообщений: 59
10.11.2016, 01:03  [ТС] 3
WarpDrive, Вот архив и скрин с ошибками, может архив не понадобится. Я уже везде стринг по отключал, ошибки те же, хз что это.
0
Миниатюры
Исправить ошибку: 'string' does not name a type  
Вложения
Тип файла: rar CPPQT-2016-2-PrintEmployes.rar (25.0 Кб, 6 просмотров)
565 / 376 / 144
Регистрация: 01.10.2015
Сообщений: 1,131
10.11.2016, 01:18 4
wolfdaver_77, ваш класс Employee является наследником класса Printable, который содержит чисто виртуальную функцию virtual void print() const = 0. Следовательно, класс Employee должен содержать реализацию этой функции.

Добавлено через 3 минуты
Насчет

Код
C:\Projects\CPPQT-2016-2-PrintEmployes\main.cpp:76: ошибка: 'endl' was not declared in this scope
     std::cout<<Taras.GetName()<<endl;
C++
1
#include <iostream>
в employee.h

И в целом ваша тема не имеет ни малейшего отношения к Qt, а ваше приложение - plain c++ application
0
6 / 6 / 5
Регистрация: 20.09.2016
Сообщений: 59
10.11.2016, 02:07  [ТС] 5
0x90h, я создал вопрос в этой теме только потому, что в Qt Creator ошибка, думал, что тут ей и место)
Спасибо за ответ.

Добавлено через 7 минут
0x90h, исправил то, на что Вы указали, но ошибок меньше не стало.
0
Заблокирован
10.11.2016, 10:46 6
Цитата Сообщение от wolfdaver_77 Посмотреть сообщение
исправил то, на что Вы указали, но ошибок меньше не стало.
Ох уж и стиль... Меня чуть не вывернуло, когда я проект открыл, без обид
Странные у вас преподы на Украине, заставляют делать софт на QtCreator-е, а сам Qt использовать запрещают
В общем, std::string должен нормально распознаваться, если ты конечно Qt нормально поставил... Ты знаешь, что чтоб у тебя распознавались стандартные хэдэры, я уж молчу про Qt-шные, тебе нужно ставить целиком Qt, а не только QtCreator. В комплект Qt, если ты его качаешь с официального сайта, QtCreator входит в комплект: https://www.qt.io/download-open-source/#section-2

В общем, прикрепляю архив твоего "кхе кхе" софта, который у меня собирается без ошибок, если у тебя не так - ставь Qt.
0
Вложения
Тип файла: rar CPPQT-2016-2-PrintEmployes.rar (22.8 Кб, 5 просмотров)
Заблокирован
10.11.2016, 12:28 7
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
а по поводу QtCreator - не более чем IDE
Я бы сказал конкретнее, это просто IDE без всего, то есть голый редактор. У него нет ни встроенного компилятора, ни отладчика, ни сорцов стандартных типа iostrem или string там нет, вообще ничего там нет, в отличии от Visualtudio, в комплекте с которой поставляется всё. И это ТС должен чётко понимать, когда ставит QtCreator без комплекта Qt.
0
Эксперт С++
1932 / 1044 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
10.11.2016, 12:34 8
Цитата Сообщение от WarpDrive Посмотреть сообщение
И это ТС должен чётко понимать, когда ставит QtCreator без комплекта Qt.
думаю вряд-ли ТС ставил голый креатор, без Qt-a, если учесть:
Цитата Сообщение от wolfdaver_77 Посмотреть сообщение
Только начал изучать Qt
0
6 / 6 / 5
Регистрация: 20.09.2016
Сообщений: 59
10.11.2016, 14:53  [ТС] 9
WarpDrive, ставил весь qt. Преподы везде странные есть) я сам не понимаю в чем фишка, курсы называются c++/qt, а дз только по с++ было. Хотя, может я что то не понял, пришел уже после половины занятий.
И хотел бы замечания по стилю услышать, если можно, хотелось бы знать что не так, что исправить надо.

Добавлено через 7 минут
WarpDrive, при запуске вашего проекта, те же ошибки(
0
Заблокирован
10.11.2016, 15:05 10
Цитата Сообщение от wolfdaver_77 Посмотреть сообщение
И хотел бы замечания по стилю услышать, если можно, хотелось бы знать что не так, что исправить надо.
Ну... Там всё не так, для начала пиши хотя бы код с табуляцией, делай пустые стоки между значимыми элементами ..ой да много чего, просто соблюдай нормальный сталь форматирования. Создай какой - нибуть класс с помощью визарда QtCreator-а и посмотри, как он оформлен

Цитата Сообщение от wolfdaver_77 Посмотреть сообщение
WarpDrive, при запуске вашего проекта, те же ошибки(
Какие ошибки - то? Не понимает, что такое std::string ? Если да - то ставь нормальный Qt. Ты его небойсь через онлайн инсталлятор ставил?
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
10.11.2016, 15:13 11
Цитата Сообщение от wolfdaver_77 Посмотреть сообщение
хотел бы замечания по стилю услышать, если можно, хотелось бы знать что не так, что исправить надо.
Замечания по поводу чуть меньше десятка строк из шапки темы?
1) define поменять на using, на крайняк typedef, если нет поддержки С++11.
2) не начинать названия переменных с нижнего подчеркивания, т.к. эти имена зарезервированы для разработчиков компиляторов. Для членов класса лучше всего подойдёт префикс m_
3) get метод желательно сделать const, ведь он не изменяет состояние класса.
4) чисто субъективно - лучше сначала давать интерфейс класса т.к. так его прощу будет найти. То, что является частью внутренней реализации как раз наоборот - прятать в конец.
5) чисто субъективно - добавить пробел перед public в наследовании класса.
6) весьма странное наследование класса Работник от "Печатаемый". Налицо нарушение MVC, но для сдачи лабы это всё равно.
0
6 / 6 / 5
Регистрация: 20.09.2016
Сообщений: 59
10.11.2016, 15:13  [ТС] 12
WarpDrive, да, не понимает и нет, не через онлайн инсталятор. Сейчас попробую новый проект сделать, если будут те же ошибки, установлю заново.
0
6 / 6 / 5
Регистрация: 20.09.2016
Сообщений: 59
10.11.2016, 15:19  [ТС] 13
MrGluck, дефайн это не моё, я скачал такой уже проект, нужно дописать решение.
А за остальное спасибо. На счет 2 пункта, я в Липпмане читал, что так удобнее называть переменные класса, о 3 пункте не подумал даже, а 6 п. это условие такое)
в общем, спасибо за конкретные замечания)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2016, 15:19

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

19:Error directive: Must use C++ for the type iostream...как исправить такую ошибку?
наверно я совсем тупая...но что то я не подружилась со средой С++((( помогите...не могу...

Исправить ошибку в коде на си: (строка 60) assignment to expression with array type
#include &lt;stdio.h&gt; #include &lt;stdbool.h&gt; #include &lt;locale.h&gt; #define N 3 bool check(int a,int...

RVALUE Ссылка, error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'|
Код не компилируется ниже 17 стандарта с++ с ошибкой error: cannot bind non-const lvalue reference...

Как исправить ошибку redeclaration of C++ built-in type 'wchar_t' [-fpermissive] (glut.h)?
Выдаёт ошибку: 45 24 D:\Dev-Cpp\MinGW64\include\glut.h redeclaration of C++ built-in type...


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

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

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