Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> error C2653 не определяет класс 
V
    Опции темы
Thesame
Дата 16.10.2008, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.9.2006
Где: Сеть

Репутация: нет
Всего: нет



есть:
Код

// NMEAParser.h
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_NMEAPARSER_H__26C0F55B_19A8_4E71_A1BA_A2EBA169FCEB__INCLUDED_)
#define AFX_NMEAPARSER_H__26C0F55B_19A8_4E71_A1BA_A2EBA169FCEB__INCLUDED_

#include "GPSInfo.h"    // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class NMEAParser  
{
public:
    NMEAParser();
    NMEAParser(LPCTSTR outputFileName);
    virtual ~NMEAParser();
    void Parse(const CHAR *buf, const UINT bufSize);
    GPSInfo& GetActualGPSInfo();

private:
    CFile m_outputFile;

    void ParseRecursive(const CHAR ch);
    void ParseNMEASentence(const CHAR *addressField, 
                           const CHAR *buf, const UINT bufSize);
    void ProcessGPGGA(const CHAR *buf, const UINT bufSize);
    void ProcessGPGSA(const CHAR *buf, const UINT bufSize);
    void ProcessGPGSV(const CHAR *buf, const UINT bufSize);
    void ProcessGPRMB(const CHAR *buf, const UINT bufSize);
    void ProcessGPRMC(const CHAR *buf, const UINT bufSize);
    void ProcessGPZDA(const CHAR *buf, const UINT bufSize);

    BOOL m_logging;
    GPSInfo m_GPSInfo;
};

#endif // !defined(AFX_NMEAPARSER_H__26C0F55B_19A8_4E71_A1BA_A2EBA169FCEB__INCLUDED_)


Код

#include "stdafx.h"
#include "NMEAParser.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif


NMEAParser::NMEAParser()
{
  m_logging = FALSE;
}


Выдаётся ошибка: 1>d:\doc\visual studio 2008\projects\testpaser3\testpaser3\nmeaparser.cpp(18) : error C2653: 'NMEAParser' : is not a class or namespace name

Не могу понять в чём проблема? Посоветуйте пожалуйста.
Зарание спасибо!
PM MAIL   Вверх
Lazin
Дата 16.10.2008, 14:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(Thesame @  16.10.2008,  14:07 Найти цитируемый пост)
Не могу понять в чём проблема? Посоветуйте пожалуйста.

ошибка в 18-й строке файла nmeaparser.cpp smile 
PM MAIL Skype GTalk   Вверх
Thesame
Дата 16.10.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.9.2006
Где: Сеть

Репутация: нет
Всего: нет



Цитата(Lazin @ 16.10.2008,  14:43)
Цитата(Thesame @  16.10.2008,  14:07 Найти цитируемый пост)
Не могу понять в чём проблема? Посоветуйте пожалуйста.

ошибка в 18-й строке файла nmeaparser.cpp smile

Огромное спасибо за ответ, а не могли бы вы направить меня в нужное русло - как решить эту проблему?
PM MAIL   Вверх
SaDFromSpb
Дата 16.10.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 5.4.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 3



А зачем тебе в хедере стражи включения и pragma once одновременно? Или pragma once для чего-то другого?


--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
Lazin
Дата 16.10.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(Thesame @  16.10.2008,  14:54 Найти цитируемый пост)
Огромное спасибо за ответ, а не могли бы вы направить меня в нужное русло - как решить эту проблему? 

открой файл nmeaparser.cpp и посмотри что там написано в 18-й строке, я так понимаю ты сам хочешь найти ошибку, раз выложил только первые 14 строк файла nmeaparser.cpp, если это конечно он smile 
PM MAIL Skype GTalk   Вверх
Alek86
Дата 16.10.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



ну, для начала надо подключить в nmeaparser.cpp файл NMEAParser.h


--------------------
user posted image    user posted image
PM MAIL   Вверх
Lazin
Дата 16.10.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(SaDFromSpb @  16.10.2008,  15:16 Найти цитируемый пост)
А зачем тебе в хедере стражи включения и pragma once одновременно? Или pragma once для чего-то другого? 

на случай если _MSC_VER <= 1000 smile

Добавлено через 1 минуту и 14 секунд
Цитата(Alek86 @  16.10.2008,  15:16 Найти цитируемый пост)
ну, для начала надо подключить в nmeaparser.cpp файл NMEAParser.h


Цитата(Thesame @  16.10.2008,  14:07 Найти цитируемый пост)
#include "NMEAParser.h"


конечно если это NMEAParser.срр smile 
PM MAIL Skype GTalk   Вверх
SaDFromSpb
Дата 16.10.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 5.4.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 3



Цитата(Lazin @  16.10.2008,  15:17 Найти цитируемый пост)
на случай если _MSC_VER <= 1000 smile

А в противном случае будет и то и другое... Зачем? Пусть только стражи включения бы оставались.... Может его из-за этого переклинивает как-то... =)


--------------------
"За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001)
PM   Вверх
Lazin
Дата 16.10.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(SaDFromSpb @  16.10.2008,  15:21 Найти цитируемый пост)
А в противном случае будет и то и другое... Зачем? Пусть только стражи включения бы оставались.... Может его из-за этого переклинивает как-то... =) 

я все-же склоняюсь к тому, что периклинивает из-за того, что написано в 18-й строке, мне так проще smile 
PM MAIL Skype GTalk   Вверх
MTWizard
Дата 16.10.2008, 15:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 8.10.2007
Где: Київ

Репутация: 3
Всего: 4



Цитата(Lazin @  16.10.2008,  15:24 Найти цитируемый пост)
я все-же склоняюсь к тому, что периклинивает из-за того, что написано в 18-й строке, мне так проще

+1
Перевожу: "Приведи больше информации и исходников. Того, что ты выложил и рассказал, недостаточно".


Цитата(SaDFromSpb @  16.10.2008,  15:21 Найти цитируемый пост)
А в противном случае будет и то и другое... Зачем? Пусть только стражи включения бы оставались.... Может его из-за этого переклинивает как-то... =)

Не переклинивает. Студия сама такое генерит и нормально компилит - проверено

Это сообщение отредактировал(а) MTWizard - 16.10.2008, 15:31
PM MAIL   Вверх
Thesame
Дата 16.10.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.9.2006
Где: Сеть

Репутация: нет
Всего: нет



Проблема решилась сама после доключения

Код

#include <windows.h>
#include <afx.h>


Но после подключения afx.h

выдал ошибку 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

Прилепил исходники.



Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  testpaser3.rar 521,94 Kb
PM MAIL   Вверх
Lazin
Дата 16.10.2008, 16:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Код

#pragma once

#include "GPSInfo.h"    // Added by ClassView
#include "targetver.h"


class NMEAParser  
{
public:
    NMEAParser();
    NMEAParser(LPCTSTR outputFileName);
    virtual ~NMEAParser();
    void Parse(const CHAR *buf, const UINT bufSize);
    GPSInfo& GetActualGPSInfo();

private:
    CFile m_outputFile;

    void ParseRecursive(const CHAR ch);
    void ParseNMEASentence(const CHAR *addressField, 
                           const CHAR *buf, const UINT bufSize);
    void ProcessGPGGA(const CHAR *buf, const UINT bufSize);
    void ProcessGPGSA(const CHAR *buf, const UINT bufSize);
    void ProcessGPGSV(const CHAR *buf, const UINT bufSize);
    void ProcessGPRMB(const CHAR *buf, const UINT bufSize);
    void ProcessGPRMC(const CHAR *buf, const UINT bufSize);
    void ProcessGPZDA(const CHAR *buf, const UINT bufSize);

    BOOL m_logging;
    GPSInfo m_GPSInfo;
};




Цитата(Thesame @  16.10.2008,  15:42 Найти цитируемый пост)
#include <windows.h>
#include <afx.h>

нельзя подключать одновременно, плюс
Цитата(Thesame @  16.10.2008,  15:42 Найти цитируемый пост)
выдал ошибку 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

нужно добавить #define _AFXDLL
в общем
Код

#pragma once
#include <stdio.h>
#ifndef _WIN32_WINNT            // Specifies that the minimum required platform is Windows Vista.
#define _WIN32_WINNT 0x0600    // Change this to the appropriate value to target other versions of Windows.
#define AFX_NMEAPARSER_H__26C0F55B_19A8_4E71_A1BA_A2EBA169FCEB__INCLUDED_
#define _AFXDLL
#include <stdio.h> 
//#include <windows.h>
#include <afx.h>

#if !defined(_WIN32)
#error _WIN32 must be defined //error
#endif

#endif

PM MAIL Skype GTalk   Вверх
Thesame
Дата 16.10.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.9.2006
Где: Сеть

Репутация: нет
Всего: нет



все проблемы решены, огромное спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1241 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.