我有下面的课:
class Cdata12Mnt
{
public:
char IOBname[ID1_IOB_PIOTSUP-ID1_IOB_TOP][BOADNAM_MAX + 4];
char ExIOBname[ID1_MAX_INF-ID1_EXIOB_U1TOP][BOADNAM_MAX + 4];
char cflpath[256];
char basetext[256];
UINT database[ID1_MAX_INF];
int State;
public:
char SelectPath[256];
public:
int GetIOBName(int slt,char *Name);
Cdata12Mnt(char *SelectPath);
virtual ~Cdata12Mnt();
int GetValue(int id);
int GetState() { return State; }
};
Run Code Online (Sandbox Code Playgroud)
我的功能如下:
Cdata12Mnt::Cdata12Mnt(char *SelectPath)
{
SCTReg reg;
char buf[256], *cpnt, *npnt, *bpnt1, *bpnt2;
char *startcode[] = {"CNTL_CODE ","SEGMENT "};
char *stopcode = {"END_CNTL_CODE "};
FILE *fp;
int ii, infl;
State = 0;
for (ii = 0; ii < …Run Code Online (Sandbox Code Playgroud) 当我在 Visual Studio 2008 上将源代码从 VC++6 移植到 VC++9 时,我收到此警告。
\n\n\n警告 LNK4017:目标平台不支持说明语句;被忽略
\n
我打开了*.def给我这个警告的文件,但我仍然不知道如何修复这个警告。这是内容:
; sctcomDLL.def : DLL \xe7\x94\xa8\xe3\x81\xae\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab \xe3\x83\x91\xe3\x83\xa9\xe3\x83\xa1\xe3\x83\xbc\xe3\x82\xbf\xe5\xae\xa3\xe8\xa8\x80\nLIBRARY "SCTCOMDLL"\nDESCRIPTION 'SCTCOMDLL Windows Dynamic Link Library'\nEXPORTS\n; \xe6\x98\x8e\xe7\xa4\xba\xe7\x9a\x84\xe3\x81\xaa\xe3\x82\xa8\xe3\x82\xaf\xe3\x82\xb9\xe3\x83\x9d\xe3\x83\xbc\xe3\x83\x88\xe3\x81\xaf\xe3\x81\x93\xe3\x81\x93\xe3\x81\xb8\xe8\xa8\x98\xe8\xbf\xb0\xe3\x81\xa7\xe3\x81\x8d\xe3\x81\xbe\xe3\x81\x99\nRun Code Online (Sandbox Code Playgroud)\n 在这里我的代码
if(bSelected)
{
clrTextSave=pDC->SetTextColor(::GetSysColor(COLOR_HIGHLIGHTTEXT));
clrBkSave=pDC->SetBkColor(::GetSysColor(COLOR_HIGHLIGHT));
pDC->FillRect(rcAllLabels,&CBrush(::GetSysColor(COLOR_HIGHLIGHT)));
}
else
pDC->FillRect(rcAllLabels,&CBrush(m_clrTextBk));
Run Code Online (Sandbox Code Playgroud)
当我在Visual Studio 2008上编辑它给我:警告C4238:使用非标准扩展:用作左值的类右值我不知道如何修复此警告?Plz有人帮忙吗?谢谢 !