请问class里面能声明strcut吗?
比如这样:
class CJPG2PDF
{
public:
CJPG2PDF();
virtual ~CJPG2PDF();
AA jpg2pdf_begin(double a,double b);//在这里,我想使用结构类型AA,但是编译提示AA没有类型
struct AA
{ int a, b;};struct BB
{AA a; AA b};
};
请问,我如何才能把自己的结构当成一种数据类型来声明方法呢?
比如这样:
class CJPG2PDF
{
public:
CJPG2PDF();
virtual ~CJPG2PDF();
AA jpg2pdf_begin(double a,double b);//在这里,我想使用结构类型AA,但是编译提示AA没有类型
struct AA
{ int a, b;};struct BB
{AA a; AA b};
};
请问,我如何才能把自己的结构当成一种数据类型来声明方法呢?
class CJPG2PDF
{
struct AA
{ int a, b;}; struct BB
{AA a; AA b};
public:
CJPG2PDF();
virtual ~CJPG2PDF();
AA jpg2pdf_begin(double a,double b);//在这里,我想使用结构类型AA,但是编译提示AA没有类型
};
这样应该就认得到了
struct AA
{ int a, b;};
AA jpg2pdf_begin(double a,double b);//在这里,我想使用结构类型AA,但是编译提示AA没有类型
比如class A
{
...
public:
typedef struct _MY_
{
...
}MY, * PMY;
...
}
那么你在使用这个类型时就需要A::MY a;这样来声明了
在.h文件中是这样的:class CJPG2PDF
{
typedef struct AA A_NODE;
typedef struct BB BJPG,*BJPG;
struct AA { int a;int b;
}; struct BB
{
AA a;
AA b;
};
public:
PJPEG2PDF Jpg2PDF_BeginDocument(double pdfW,double pdfH);
CJPG2PDF();
virtual ~CJPG2PDF();
};
在.CPP中这样:CJPG2PDF::AA CJPG2PDF::Jpg2PDF_BeginDocument(double pdfW, double pdfH)
{}
这样就没有错误了,但是不知道后续会不会出现什么问题啦
多谢啦。
举个例子,CFile的那一堆modeXXX的标志,为什么以枚举的形式声明在CFile内呢?因为这个标志只有CFile会用到,进行一个范围圈定。
using namespace std;class CJPG2PDF
{
public:
CJPG2PDF();
virtual ~CJPG2PDF();
struct AA
{
int a, b;
}; struct BB
{
AA a;
AA b;
}; AA jpg2pdf_begin(double a,double b);//在这里,我想使用结构类型AA,但是编译提示AA没有类型
};int _tmain(int argc, _TCHAR* argv[])
{
CJPG2PDF::AA a; return 0;
}
有一段C语言代码是这样写的: if('f' == c)
sprintf(pPDF->pdfXREF[index], "%010d 65535 f\r\n", offset);我想把它转成C++的,要怎么实现啊?因为我要在VC/MFC中写一个新类