I m试图通过为C++树立榜样 Xerces XML 图书馆的实施。 我完全照搬了该法典,但我很麻烦地汇编该守则。
error: expected class-name before { token
我探讨了解决办法,我知道,这一错误可能是循环造成的,包括或不在使用之前确定一个类别,但正如你从法典中看到的那样,我只有2个档案: MySAXHandler.hpp和MySAXHandler.cpp。 然而,MySAXHandler的班子来自HandlerBase,其中包括。
MyHandler.hpp
#include <xercesc/sax/HandlerBase.hpp>
class MySAXHandler : public HandlerBase {
public:
void startElement(const XMLCh* const, AttributeList&);
void fatalError(const SAXParseException&);
};
MySAXHandler.cpp
#include "MySAXHandler.hpp"
#include <iostream>
using namespace std;
MySAXHandler::MySAXHandler()
{
}
void MySAXHandler::startElement(const XMLCh* const name,
AttributeList& attributes)
{
char* message = XMLString::transcode(name);
cout << "I saw element: "<< message << endl;
XMLString::release(&message);
}
void MySAXHandler::fatalError(const SAXParseException& exception)
{
char* message = XMLString::transcode(exception.getMessage());
cout << "Fatal Error: " << message
<< " at line: " << exception.getLineNumber()
<< endl;
XMLString::release(&message);
}
我这样汇编:
g++ -L/usr/local/lib -lxerces-c -I/usr/local/include -c MySAXHandler.cpp
我先看手脚,然后加以界定,因此我不知道我为什么不能从中得出一个等级? 我是否必须超越手勒巴斯的所有虚拟职能? 对C++的新字。
提前感谢。