error,Debug,and so on

error C2533 构造函数不能有返回类型

类定义时,少了一个分号!!!!!!!

 

 

CMap m_cMap; 这种做法是不行的,对于KEY的类型只能是简单数据类型如int, LPCTSTR, LONG...不能是一个C++对象。如果要用字符串作为KEY的映射不如试一试CMapStringToObj(应该没拼写)

 

 

error C2011:

这个错误是因为你多次包含了(在多个文件中)定义point这个class的.h文件。
解决方式很简单,就是使用ifndef define 这个东西包住你定义的class。 
 
 
当前不会命中断点:
      一、删除引用项目的debug

        二、配置管理器中把所有项目的“生成”打勾、“配置”全部选成“debug“,切忌release

        三、配置管理器中“活动解决方案配置”、新建一个方案

        四、将引用目录统一设到某个目录,防止没有引用到最新的(源码与dll版本不匹配)

        五、工具、选项、调试、常规中的“要求源文件和原始版本完全匹配”的勾去掉

        五种办法都用过了。还是没有用。

        最后偶然想到,出现这个问题的原因基本上有两个:

        一、要调试的dll不在调试进程的进程空间,调不到

        二、源代码使用的dll与调试的源代码的版本不对,自然调试不到

 

 

用C++ vector string出现一堆warning

搜索问题和解决办法:

在include stl 之前disable掉。 #pragma warning(disable:4786) msdn 里面说得很清楚,转换成内部名后,太长,debug下面将没办法察看(如watch): 'identifier' : identifier was truncated to 'number' characters in the debug information

 

 

自定义的结构体做map的key:

 

 

 

map的key要求是copyable和comparable,

 

typedef struct stabc {    int a;  

int b;

 int c;   bool operator < (const struct stabc stABCComp )const  {   return  (a!= stABCComp .a) ? (a< stABCComp .a) :    (b!= stABCComp .b) ? (b< stABCComp .b) :    (c< stABCComp .c);      } }StABC;

 

 

 

inline bool operator< (const T& Left, const T& Right) {   return      (Left.a != Right.a) ? (Left.a < Right.a) :     (Left.b != Right.b) ? (Left.b < Right.b) :                           (Left.c < Right.c); }

 

你可能感兴趣的:(error,Debug,and so on)