Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/65: Рейтинг темы: голосов - 65, средняя оценка - 4.91
14 / 14 / 5
Регистрация: 05.10.2011
Сообщений: 223
1

Error C2039: list: не является членом "std"

02.02.2013, 17:02. Показов 12053. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
итак:
делаю MFC проект. Собственные функции пишу в отдельном MyLibrary.cpp к которому еще прилагается MyLibrary.h.
функция написана, компилится, а вот в h файле вылетают ошибки

Код
error C2039: list: не является членом "std"
error C2143: синтаксическая ошибка: отсутствие ";" перед "<"
error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
MyLibrary.cpp
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
#include "StdAfx.h"
#include <Windows.h>
#include <list>
 
class Computer
{
public:
    int num;
    CString ip;
    CString mac;
    CString nbn;
    CString comment;
};
 
bool ReadItem (HANDLE hFile, int &num, CString &ip, CString &mac, CString &nbn, CString &comment)
{
// содержимое не важно
    return true;
}
 
std::list<Computer> ReadDB (HANDLE hFile)
{
    Computer    obj;
    std::list<Computer> items;
 
    while(ReadItem(hFile, obj.num, obj.ip, obj.mac, obj.nbn, obj.comment))
    {
        items.push_back(obj);
    }
 
    return items;
}
MyLibrary.h
C++
1
2
3
4
5
6
7
# ifndef MyLibrary_H
# define MyLibrary_H
 
HANDLE Open_File();
std::list<Computer> ReadDB (HANDLE hFile);
 
# endif
переписал все это дело в один файл и проект консольный зафигачил вроде все ок, а вот в разбивке по файлам не работает
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2013, 17:02
Ответы с готовыми решениями:

Error C2039: copy: не является членом "std"
Добрый вечер. Появились две ошибки: error C2039: copy: не является членом &quot;std&quot; error C3861:...

Error C2039: Insert: не является членом "std::set<_Kty>"
Ругается компилятор: 1&gt;c:\visual studio 2008\projects\lab1\fibo\fibo\fibo.cpp(19) : error C2039:...

Error C2039 не является членом Znak
#include &lt;iostream&gt; #include &lt;string&gt; struct ZNAK { public: char *name, *surname; // Имя и...

Error C2039: fprintf: не является членом "`global namespace'"
просто не понимаю откуда берется такая ошибка? вроде все правильно пишу... Заголовки функций ...

8
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
02.02.2013, 17:08 2
#include <list> переместить из cpp файла в хедер MyLibrary.h
0
14 / 14 / 5
Регистрация: 05.10.2011
Сообщений: 223
02.02.2013, 18:18  [ТС] 3
просто перемещение не решает проблему,
скопировал инклуду в MyLibrary.h - появилась ошибка:
Код
error C2065: Computer: необъявленный идентификатор
зы. истина вот уже где-то рядом, но я в упор не понимаю
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
02.02.2013, 18:19 4
ах да и класс Computer тоже перенесите
0
14 / 14 / 5
Регистрация: 05.10.2011
Сообщений: 223
02.02.2013, 18:25  [ТС] 5
если делаю просто перенос, то результат так же как и в случае с переносом include <list> - опять не объявленные идентификаторы.
а вот копирование - оно решает вопрос.

только тут рождается новый вопрос: а вот такое дублирование(копирование) это верно? подозрение, что что-то тут не так
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
02.02.2013, 18:34 6
MyLibrary.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef MyLibrary_H
#define MyLibrary_H
 
#include <Windows.h>
#include <list>
 
class Computer
{
public:
    int num;
    CString ip;
    CString mac;
    CString nbn;
    CString comment;
};
 
HANDLE Open_File();
std::list<Computer> ReadDB (HANDLE hFile);
 
#endif
MyLibrary.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "StdAfx.h"
#include "MyLibrary.h" 
bool ReadItem (HANDLE hFile, int &num, CString &ip, CString &mac, CString &nbn, CString &comment)
{
// содержимое не важно
    return true;
}
 
std::list<Computer> ReadDB (HANDLE hFile)
{
    Computer    obj;
    std::list<Computer> items;
 
    while(ReadItem(hFile, obj.num, obj.ip, obj.mac, obj.nbn, obj.comment))
    {
        items.push_back(obj);
    }
 
    return items;
}
1
14 / 14 / 5
Регистрация: 05.10.2011
Сообщений: 223
02.02.2013, 18:42  [ТС] 7
Код
fatal error C1083: Не удается открыть файл включение: MyLibrary.h: No such file or directory
расположение MyLibrary.h там же где и остальные все cpp и h файлы проекта (т.е. по умолчанию)
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
02.02.2013, 18:47 8
Цитата Сообщение от GBIT Посмотреть сообщение
расположение MyLibrary.h там же где и остальные все cpp и h файлы проекта (т.е. по умолчанию)
а вроект он добавлен? в обозревателе решений он есть?
0
14 / 14 / 5
Регистрация: 05.10.2011
Сообщений: 223
02.02.2013, 20:05  [ТС] 9
конечно

другие то функции отрабатывают из MyLibrary.cpp. (просто удалил когда скидывал сюда)

+ в файле ...Dlg.cpp MFC проекта подключен #include "MyLibrary.h" и там все ок

Добавлено через 1 час 13 минут
все. понял где накосячил.

перепутал <> и "". Спасибо!
0
02.02.2013, 20:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2013, 20:05
Помогаю со студенческими работами здесь

Error C2039: print не является членом "car"
Добрый день, столкнулся с проблемой &quot; error C2039: print: не является членом &quot;car&quot; &quot; при создания...

Как исправить ошибку error C2039 "не является членом класса"?
\Employee.cpp(20) : error C2039: YearsofService: не является членом &quot;Employee&quot; 1&gt; ...

Error C2039: + не является членом "CLongArithmetic"
Можете обьяснить что не так? Не могу понять( error C2511: const CLongArithmetic...

Error C2039, "fX" не является членом "CVector"
Помогите решить проблему пожалуйста! Код: #pragma once #ifndef M_PI #define...

Error C2039: 'Sth' : is not a member of 'std::vector<_Ty>'
#include &lt;iostream&gt; #include &lt;vector&gt; using std::cin; using std::cout; using std::endl; using...

Пишет ошибку : Состояние подавления Ошибка C2039 "lenght": не является членом
//Виселица //Классическая игра &quot;Виселица&quot; #include &lt;iostream&gt; #include&lt;vector&gt; #include&lt;string&gt;...


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

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