C++ 类 enum型成员 赋值有关问题
C++ 类 enum型成员 赋值问题
我 一段代码 老是报错 郁闷死了,求解!!!!!!!
如下:
typedef enum _LINK_STATE
{
LINK_CONNECTED,
LINK_LOGGED_IN,
LINK_DISCONNECTED,
LINK_WAITING,
LINK_INTERNAL_ERROR,
LINK_UNAVAILABLE,
LINK_DELETE,
LINK_SHUTDOWN,
LINK_INIT,
LINK_LISTENNING
} LINK_STATE;
class CServer
{
public:
string ServerName; //服务器名
string HostName; //主机名
string TargetIP; // 目标IP地址
ServerState m_ServerState; // 服务器状态
unsigned short m_ServerIndex; //服务器 序列
unsigned long m_totalCapacity; // 总容量
string m_authorization; //授权
string wwn;
//下面 这里 定义了 LINK_STATE 类型 然后在构造函数里赋值
LINK_STATE linkState;//服务器连接状态
public:
CServer * pNext;
public:
CServer()
{
pNext = NULL;
m_ServerIndex = 0;
m_ServerState = SERVER_OFFLINE;
HostName = "";
TargetIP = "";
ServerName = "";
m_totalCapacity = 0;
m_authorization = "";
wwn = "";
//下面 赋值 报错!
linkState = LINK_DISCONNECTED;
}
};
错误为:
argument of type LINK_STATE is incompatible with parameter of type LINK_STATE;
我在其他处赋值 就会出现如下错误:
a value of type LINK_STATE cannot be assigned to an entity of type LINK_STATE
------解决方案--------------------
首先表示本人运行环境可以通过(VC6.0),我估计你这个问题可能和你编译器有关,或许是由于其他问题连锁引起??!
------解决方案--------------------
Visual Studio 2010下编译没有问题。调试可以看到linkState = 2
------解决方案--------------------
typedef enum _LINK_STATE
{
LINK_CONNECTED,
LINK_LOGGED_IN,
LINK_DISCONNECTED,
LINK_WAITING,
LINK_INTERNAL_ERROR,
LINK_UNAVAILABLE,
LINK_DELETE,
LINK_SHUTDOWN,
LINK_INIT,
LINK_LISTENNING
} LINK_STATE;
改成
enum LINK_STATE
{
LINK_CONNECTED,
LINK_LOGGED_IN,
LINK_DISCONNECTED,
LINK_WAITING,
LINK_INTERNAL_ERROR,
LINK_UNAVAILABLE,
LINK_DELETE,
LINK_SHUTDOWN,
LINK_INIT,
LINK_LISTENNING
} ;
试试看.
------解决方案--------------------
我 一段代码 老是报错 郁闷死了,求解!!!!!!!
如下:
typedef enum _LINK_STATE
{
LINK_CONNECTED,
LINK_LOGGED_IN,
LINK_DISCONNECTED,
LINK_WAITING,
LINK_INTERNAL_ERROR,
LINK_UNAVAILABLE,
LINK_DELETE,
LINK_SHUTDOWN,
LINK_INIT,
LINK_LISTENNING
} LINK_STATE;
class CServer
{
public:
string ServerName; //服务器名
string HostName; //主机名
string TargetIP; // 目标IP地址
ServerState m_ServerState; // 服务器状态
unsigned short m_ServerIndex; //服务器 序列
unsigned long m_totalCapacity; // 总容量
string m_authorization; //授权
string wwn;
//下面 这里 定义了 LINK_STATE 类型 然后在构造函数里赋值
LINK_STATE linkState;//服务器连接状态
public:
CServer * pNext;
public:
CServer()
{
pNext = NULL;
m_ServerIndex = 0;
m_ServerState = SERVER_OFFLINE;
HostName = "";
TargetIP = "";
ServerName = "";
m_totalCapacity = 0;
m_authorization = "";
wwn = "";
//下面 赋值 报错!
linkState = LINK_DISCONNECTED;
}
};
错误为:
argument of type LINK_STATE is incompatible with parameter of type LINK_STATE;
我在其他处赋值 就会出现如下错误:
a value of type LINK_STATE cannot be assigned to an entity of type LINK_STATE
------解决方案--------------------
首先表示本人运行环境可以通过(VC6.0),我估计你这个问题可能和你编译器有关,或许是由于其他问题连锁引起??!
------解决方案--------------------
Visual Studio 2010下编译没有问题。调试可以看到linkState = 2
------解决方案--------------------
typedef enum _LINK_STATE
{
LINK_CONNECTED,
LINK_LOGGED_IN,
LINK_DISCONNECTED,
LINK_WAITING,
LINK_INTERNAL_ERROR,
LINK_UNAVAILABLE,
LINK_DELETE,
LINK_SHUTDOWN,
LINK_INIT,
LINK_LISTENNING
} LINK_STATE;
改成
enum LINK_STATE
{
LINK_CONNECTED,
LINK_LOGGED_IN,
LINK_DISCONNECTED,
LINK_WAITING,
LINK_INTERNAL_ERROR,
LINK_UNAVAILABLE,
LINK_DELETE,
LINK_SHUTDOWN,
LINK_INIT,
LINK_LISTENNING
} ;
试试看.
------解决方案--------------------