baidu_38016266 2017-03-24 02:45 采纳率: 0%
浏览 4812

C++调用指针无法读取内存

TextBMFont::TextBMFont():
_labelBMFontRenderer(nullptr),
_fntFileName(""),
_stringValue(""),
_labelBMFontRendererAdaptDirty(true)//无法读取内存
{
}

TextBMFont::~TextBMFont()
{
_labelBMFontRenderer = nullptr;
}

TextBMFont* TextBMFont::create()
{
TextBMFont* widget = new (std::nothrow) TextBMFont();
if (widget && widget->init())
{
widget->autorelease();
return widget;
}
CC_SAFE_DELETE(widget);
return nullptr;
}

TextBMFont* TextBMFont::create(const std::string &text, const std::string &filename)
{
TextBMFont* widget = new (std::nothrow) TextBMFont();
if (widget && widget->init())
{
widget->setFntFile(filename);
widget->setString(text);
widget->autorelease();
return widget;
}
CC_SAFE_DELETE(widget);
return nullptr;
}

void TextBMFont::initRenderer()
{
if (_labelBMFontRenderer) _labelBMFontRenderer = nullptr;
_labelBMFontRenderer = cocos2d::Label::create();
addProtectedChild(_labelBMFontRenderer, LABELBMFONT_RENDERER_Z, -1);
}

void TextBMFont::setFntFile(const std::string& fileName)
{
if (fileName.empty())
{
return;
}
_fntFileName = fileName;
_labelBMFontRenderer->setBMFontFilePath(fileName);

updateContentSizeWithTextureSize(_labelBMFontRenderer->getContentSize());
_labelBMFontRendererAdaptDirty = true;

}

void TextBMFont::setString(const std::string& value)
{
if (value == _labelBMFontRenderer->getString())//这里提示无法读取内存
{
return;
}

  • 写回答

1条回答 默认 最新

  • 小邓在路上 2017-03-24 07:32
    关注

    对指针对象的内容的提领前提是该指针所指向的地址有实际的意义,建议你在使用变量_labelBMFontRenderer之前判断该指针变量是否为空

    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?