调用函数时,c ++无法使用自定义类读取内存

时间:2016-04-11 13:08:37

标签: c++ class pointers memory

我在自定义类中运行函数时遇到问题。这是我的代码:

ROBOTSTRUCTURE.H

CREATE PROCEDURE yourProcedureName 
   @RegionCode nvarchar(2)
AS
--your select
     ORDER BY
         CASE CountryRegionCode
             WHEN @RegionCode THEN 1
             ELSE 2
         END,
         Name

ROBOTSTRUCTURE.CPP

#pragma once

#include "math.h"
#include <fstream>
#include <string>
#include <thread>
#include <chrono>
#include <ctime>
#include <vector>
#include <sstream>
#include <fstream>

using namespace std;
using namespace std::chrono;
class RobotStructure
{
    bool faceTrackingEnabled;

public:
    RobotStructure();
    ~RobotStructure();
    bool testFunction(string input);

MAIN

#include "RobotStructure.h"
RobotStructure::RobotStructure()
{
    faceTrackingEnabled = true;
}

RobotStructure::~RobotStructure()
{
}

bool RobotStructure::testFunction(string input)
{
    cout << input << endl; //THIS DOES NOT WORK, When using debugger shows that the entire class "Robot Structure" as unable to read memory
return true;
}

如果在main中设置断点,我的类正确初始化,一切都很好。一旦打电话给&#34;测试功能&#34;该类在测试函数中失去记忆。

在返回0之前返回main;这个班也是内存不足。好像指针以某种方式被删除。有人可以解释一下发生了什么,我做了什么是错的?

1 个答案:

答案 0 :(得分:0)

您的testFunction不使用任何班级成员。如果在启用优化的情况下编译此代码(&#34;发布&#34; VisualStudio中的配置,gcc上为-O2),编译器可能会渲染一些变量(如this)&#34; undebuggable& #34;