我想定义一个全局类型的CStringList变量,为什么在link的时候说重定义呢?还有CStringList类由什么要注意的地方吗?比如,用显式的释放等吗?

解决方案 »

  1.   

    错误如下:
    CServer error LNK2005: "class CStringList NetOrderList" (?NetOrderList@@3VCStringList@@A) 已经在 ClientSocket.obj 中定义
      

  2.   

    全局变量定义在任意一个cpp文件中,在stdafx.h或者C???App的头文件中加上声明extern class CStringList;其实关键是在你定义该全局变量的文件中要有#pragma once 字段
      

  3.   

    globalData.hextern CStringList stringList;globalData.cpp
    CStringList stringList;
      

  4.   

    有#pragma once,也按你的方法试了不行啊。能详细说以下吗
      

  5.   

    是不是在头文件中定义的,在cpp中定义可能会好
      

  6.   

    那样的话是不是要包含#include "??.cpp"?
      

  7.   

    知道了,应该是
    .h文件里写
    extern char ch;
    .cpp文件里写
    cha ch;
    其他要使用这些全局变量的只要包含
    .h就可以了。不过还是谢谢各位!