c++代码可以在centosg++中编译,但不能在Visual studio 2008中编译

C++ code compiles in CentOS g++, but not in Visual studio 2008

本文关键字:编译 但不能 Visual studio 2008 代码 centosg++ c++      更新时间:2023-10-16

我有一个问题:我的代码在CentOS g++中工作得很好,但是当我在visual studio 2008中编译它们时,visual studio告诉我如下错误:

1.c:program files (x86)microsoft visual studio 9.0vcincludecodeanalysissourceannotations.h(19): error C2144:语法错误:'__w64 unsigned int'前面应该加'}'

2。语法错误:'namespace'前面缺少'}' .

我的文件编码是UTF-8。如果我在Unicode中更改它们,我在Unicode中更改一些错误文件,它仍然有上面的错误。

下面是一些源代码:

#ifndef ENRC_CODE_DEFS_H
#define ENRC_CODE_DEFS_H
enum ENReturnCode
{
ENRC_SUCCESS = 0,
ENRC_FAILED,
ENRC_NODATA,
ENRC_CONFIG_NOT_AVAILABLE,
ENRC_INVALID_SUBSCRIBE_ID,
ENRC_INVALID_SUBSCRIBE_CONDITION,
ENRC_INVALID_SUBSCRIBER,
ENRC_INVALID_PARAMETER,
ENRC_THREAD_RUNNING,
ENRC_SUBSCRIBE_LIST_EMPTY,
ENRC_OUT_OF_MEMORY     // 10
}

e:my_codecppcommonincludeerrordefs.h(5) : error C2143: syntax error : missing ';' before 'enum [tag]'

下:

#ifndef EN_SMS_SRC_TAO2CPP_H_        
#define EN_SMS_SRC_TAO2CPP_H_
#include "SystemMonitorMasterServiceC.h"
#include "SystemMonitorSlaveServiceC.h"
#include "CommonDefs.h"
#include "SystemMonitorServiceDataDefs.h"
namespace EN
{
namespace SMS
{
template < typename _Ty, typename _Cy>
inline
void Tao2Cpp_Enum(_Ty taoValue, _Cy &cppValue)
{
   cppValue = (_Cy)taoValue;
}

error C2143: syntax error : missing '}' before 'namespace'

有很多类似上面的错误。

谢谢。为了便于阅读,我浪费了一些时间。

在enum声明中需要一个分号:

enum ENReturnCode 
{
...
}; 
相关文章: