gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 05:44:09 25 4
gpt4 key购买 nike

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

机器人结构.H

#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);

机器人结构.CPP

#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;
}

主要

#include <Windows.h>
#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>
#include <thread>
#include <string>
#include <sstream>
#include <vector>
#include <math.h>
#include <fstream>

#include "RobotStructure.h"
using namespace std;
int main()
{
RobotStructure *mybot= new RobotStructure();
mybot->testFunction("test");
return 0;
}

如果在 main 中设置断点,我的类将正确初始化并且一切正常。一旦调用“测试函数”,该类就会在测试函数中超出内存。

当它在 return 0 之前回到 main 时;该类也内存不足。好像指针以某种方式被删除了。有人可以解释发生了什么以及我做错了什么吗?

最佳答案

您将该函数声明为 bool testFunction(string input) 但该函数未返回任何内容。这会导致 C++ 中的未定义行为。

此外,您的示例无法编译(您声明了一个参数 input 但您正在使用 intput)。

关于c++在调用函数时无法使用自定义类读取内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com