gpt4 book ai didi

c++ - 如何在dll中的要导出的类中包含结构?

转载 作者:行者123 更新时间:2023-11-28 07:40:24 25 4
gpt4 key购买 nike

我正在尝试用 cpp 编写一个后端,它可以读取测验问题的二进制文件,并且只在被问到时才显示答案。我想使用 DLL 链接并遵循 Microsoft 的演练:http://msdn.microsoft.com/en-us/library/vstudio/ms235636.aspx它不使用类成员。我也想导出它们,并在类中包含某些结构。

基本上,我希望能够声明和使用该类的对象并使用其成员函数,只需将 DLL 包含在我承担的任何进一步项目中即可。我该怎么做?在我的以下代码中,

#ifdef CXWDLL_EXPORTS
#define CXWAPI __declspec(dllexport)
#else
#define CXWAPI __declspec(dllimport)
#endif

#include<string>

using namespace std;

typedef unsigned long long UINT64
#define SIZE 15
#define GRIDSIZE 225
#define MAXCLUES 50

namespace cxw
{
class CXWAPI CXWPuzzle
{
public:
CXWPuzzle();
virtual ~CXWPuzzle();
struct Header
{
string signature;
string version;
short type;
} header;
struct Checksum
{
int header;
int crossie;
int grid;
int clues;
int solution;
int file;
} checksum;
struct Contents
{
struct CHeader
{
string title;
string author;
string copyright;
string notes;
} cHeader;
struct Grid
{
short size;
UINT64 grid[4];
char filled[GRIDSIZE];
UINT64 filled[4];
} grid;
struct Clues
{
string across[MAXCLUES];
string down[MAXCLUES];
} clues;
struct Solution
{
char answers[GRIDSIZE];
string across[MAXCLUES];
string down[MAXCLUES];
} solution;
} contents;
};
}

VS 2010 编译器说“错误:需要一个声明”,在:

} solution;

和随后的右括号。我还没有添加类的方法。

我做错了什么?另外,我的代码是否允许我执行我提到的要求?

最佳答案

struct Grid
{
short size;
UINT64 grid[4];
char filled[225];
UINT64 filled[4];
};

这里有一个错误,filled 被声明了两次。当我解决这个问题时,我无法重现您所说的其他错误。

关于c++ - 如何在dll中的要导出的类中包含结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15942482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com