0

下面提到的是我的 c++/cli "*.h" 文件

// rmsCInterfaceWrapper.h
#ifndef RMSCINTERFACE_H
#define RMSCINTERFACE_H
#ifndef RMSREQINFO_H
#define RMSREQINFO_H
#ifndef RMSCLIENTINFO_H
#define RMSCLIENTINFO_H
#ifndef RMSPHYSICIANINFO_H
#define RMSPHYSICIANINFO_H
#ifndef RMSREQPOLICYINFO_H
#define RMSREQPOLICYINFO_H

#pragma once
#include "D:\nbsource code\RMS\rmsCAPI\rmsCInterface.h"
#pragma comment(lib,"rmsCAPI.lib")
#include "D:\nbsource code\RMS\rmsDLL\rmsReqInfo.h"
#include "D:\nbsource code\RMS\rmsDLL\rmsClientInfo.h"
#include "D:\nbsource code\RMS\rmsDLL\rmsPhysicianInfo.h"
#include "D:\nbsource code\RMS\rmsDLL\rmsReqPolicyInfo.h"
#pragma comment(lib,"rmsDLL.lib")

using namespace System;

namespace rmsCInterfaceWrapper
{
public ref class rmsCInterface
{
    // TODO: Add your methods for this class here.
private:
    rmsReqInfoStruct *rmsReqInfo;
    rmsClientInfoStruct *rmsClientInfo;
    rmsPhysicianInfoStruct *rmsPhysicianInfo;
    rmsReqPolicyInfoStruct *rmsReqPolInfo;
    rmsAddlOrderInfoStruct *rmsAddOrderInfo;
public:
    rmsCInterface();
    ~rmsCInterface();
    long OrderReq();
};
}
#endif

我已经为这些原生 c++ 结构 rmsReqInfoStruct、rmsClientInfoStruct、rmsPhysicianInfoStruct、rmsReqPolicyInfoStruct、rmsAddlOrderInfoStruct 声明了指针。当我编译这个时,我得到了下面提到的这些错误,我不知道为什么我会得到这些

1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(30) : error C2143: syntax error : missing ';' before '*'
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(30) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(30) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(31) : error C2143: syntax error : missing ';' before '*'
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(31) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(31) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(32) : error C2143: syntax error : missing ';' before '*'
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(32) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(32) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(33) : error C2143: syntax error : missing ';' before '*'
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(33) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(33) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(34) : error C2143: syntax error : missing ';' before '*'
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(34) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\vamsi\rmscinterfacewrapper\rmscinterfacewrapper\rmsCInterfaceWrapper.h(34) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

所有这些错误都出现在类私有声明本身的结构指针上,我无法弄清楚它们为什么会导致。任何人都可以帮忙。

4

1 回答 1

0

我能够解决这个问题。由于我创建了一个 clr---> 类库项目,它自动生成了 stdafx.h 和 stdafx.cpp 文件。当我使用 c++/cli 围绕我的本地 c++ 代码编写包装器时,我将自动生成的 c++/cli stdafx.h 文件与我的本地 stdafx.h 文件复制并从 .h 中删除了 #ifndef,#define,#pragma 语句我在上面提供的文件,所以做了所有这些工作,我能够生成我可以在我的 c# 程序中使用的 dll 文件作为参考......谢谢大家的帮助......

于 2012-05-16T19:22:28.277 回答