簡體   English   中英

如何處理這個斷言調試失敗

[英]how to deal with this assertion debug failure

我正在調試生成五個 dxf 文件的代碼。 第一代一切正常。 一旦我開始創建第二個 dxf 文件,我就會收到此錯誤。

在此處輸入圖像描述

有人可以幫助我並向我解釋問題。 我無法發布整個代碼,因為代碼非常大。 提前致謝

失敗的原因是我錯誤地使用了這兩種數據類型:

  1. const wchar_t*
  2. wstring
class KDXFDWGWRAPPERTEIG_API K_ArcParameter {
   private:
      struct K_2DPoint { double m_point_1; double m_point_2; };

      K_Teigha3DPoint m_arcCenter{ 0.0, 0.0, 0.0 };
      K_Teigha3DPoint m_arcNormal{ 1.0, 1.0, 0.0 };
      K_2DPoint     m_arcAngleParameter{ 0.0, 3.14 };
      K_DxfDwgColor m_defColor;
      double            m_radius = 1.0;
      double            m_thickness = 0.5;
      const wchar_t*         m_layerName = L""; // error is here
      const wchar_t*            m_lineType = L"";// error is here
   public:

    // C-Tor
    K_ArcParameter(K_Teigha3DPoint pArcCenter, K_Teigha3DPoint pArcNormal, K_2DPoint pArcAngleParameter, double pRadius) :
        m_arcCenter(pArcCenter), m_arcNormal(pArcNormal), m_arcAngleParameter(pArcAngleParameter), m_radius(pRadius), m_defColor(0x000000ff) {};
    K_ArcParameter(K_Teigha3DPoint pArcCenter, K_Teigha3DPoint pArcNormal,K_2DPoint pArcAngleParameter, double pRadius, double pThickness, wstring& pLayerName, wstring& pLineType) :
        m_arcCenter(pArcCenter), m_arcNormal(pArcNormal), m_arcAngleParameter(pArcAngleParameter), m_radius(pRadius), m_thickness(pThickness), m_layerName(pLayerName), m_lineType(pLineType), m_defColor(0x000000ff) {};
    K_ArcParameter(K_Teigha3DPoint pArcCenter, K_Teigha3DPoint pArcNormal, K_2DPoint pArcAngleParameter, K_DxfDwgColor pDefColor, double pRadius, double pThickness, wstring& pLayerName, wstring& pLineType) :
        m_arcCenter(pArcCenter), m_arcNormal(pArcNormal), m_arcAngleParameter(pArcAngleParameter), m_defColor(pDefColor), m_radius(pRadius), m_thickness(pThickness), m_layerName(pLayerName), m_lineType(pLineType) {};
    
    //methods
    K_Teigha3DPoint         getArcCenterPoint()     const { return m_arcCenter; }
    K_Teigha3DPoint         getArcNormal()      const { return m_arcNormal; }
    K_2DPoint               getArcAngleParameter()      const { return m_arcAngleParameter; }
    K_DxfDwgColor           getColor()      const { return m_defColor; }
    double                  getRadius()     const { return m_radius; }
    double                  getThickness()      const { return m_thickness; }
    wstring                 getLayerName()      const { return m_layerName; }
    wstring                 getLineTypeName()       const { return m_lineType; }
    bool                    IsLineTypeByLayer()     const { return false; }

 };

圖層名稱和 l.netype 名稱必須是wstring 不允許使用 const wchar_t*並使我的調試器崩潰。 很抱歉我沒有發布代碼,因為它非常廣泛而且我無法看到具體的錯誤位置。 我希望這可以幫助你們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM