Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
GBIT
12 / 12 / 1
Регистрация: 05.10.2011
Сообщений: 219
#1

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

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

итак:
делаю 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2013, 17:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Error C2039: list: не является членом "std" (C++):

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

Error C2039: fprintf: не является членом "`global namespace'" - C++
просто не понимаю откуда берется такая ошибка? вроде все правильно пишу... Заголовки функций #pragma once #include &lt;string&gt; ...

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

Как исправить ошибку error C2039 "не является членом класса"? - C++
\Employee.cpp(20) : error C2039: YearsofService: не является членом &quot;Employee&quot; 1&gt; c:\users\кварц3\desktop\student\решенные задачи...

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

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

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

только тут рождается новый вопрос: а вот такое дублирование(копирование) это верно? подозрение, что что-то тут не так
0
Jupiter
Каратель
Эксперт С++
6565 / 3986 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
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
GBIT
12 / 12 / 1
Регистрация: 05.10.2011
Сообщений: 219
02.02.2013, 18:42  [ТС] #7
Код
fatal error C1083: Не удается открыть файл включение: MyLibrary.h: No such file or directory
расположение MyLibrary.h там же где и остальные все cpp и h файлы проекта (т.е. по умолчанию)
0
Jupiter
Каратель
Эксперт С++
6565 / 3986 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.02.2013, 18:47 #8
Цитата Сообщение от GBIT Посмотреть сообщение
расположение MyLibrary.h там же где и остальные все cpp и h файлы проекта (т.е. по умолчанию)
а вроект он добавлен? в обозревателе решений он есть?
0
GBIT
12 / 12 / 1
Регистрация: 05.10.2011
Сообщений: 219
02.02.2013, 20:05  [ТС] #9
конечно

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

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

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

перепутал <> и "". Спасибо!
0
02.02.2013, 20:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2013, 20:05
Привет! Вот еще темы с ответами:

strind: не является членом "std" - C++
Доброго времени суток. Осваиваю классы в С++ по учебнику самостоятльно. Перепечатал прогу правильно, но выдает следущие ошибки: ...

error C2040: key: "int [256]" отличается по уровням косвенного обращения от "std::ofstream" - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstdlib&gt; #include &lt;time.h&gt; #include &lt;string&gt; using namespace std; #define size...

Error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" - C++
Вот ошибка 1&gt;------ Построение начато: проект: ыпошряоям, Конфигурация: Debug Win32 ------ 1&gt; файл.cpp 1&gt;c:\users\hp\desktop\уроки...

Error C2678: бинарный "<<": не найден оператор, принимающий левый операнд типа "std::ifstream" - C++
Собственно, текст ошибки приведен в названии темы. Сам код: #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iomanip&gt; #include...


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

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

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