XCode C++上的错误访问错误
Bad Access Error on XCode C++
我正在尝试使用术语链表实现多项式结构(链表是单独实现的(。 当我运行我的主程序时,我收到一个(线程 1:EXC_BAD_ACCESS 代码=2(错误 coeff = x;
定义中我的setCoeff
函数。我尝试注释掉该特定函数调用,但它为 setX(( 和 setY(( 函数提供了相同的错误。我想我已经正确设置了我的文件和功能,我不知道为什么它不让我使用这些功能。请帮忙!按顺序,我包括:多项式.h,多项式.cpp和main.cpp。
#ifndef __Polynomial__Polynomial__
#define __Polynomial__Polynomial__
#include <stdio.h>
class Term {
private:
int coeff;
int deg_x;
int deg_y;
public:
Term();
int getCoeff();
int getX();
int getY();
void setX(int);
void setY(int);
void setCoeff(int);
};
#endif /* defined(__Polynomial__Polynomial__) */
___________________________
#include "Polynomial.h"
Term::Term() {
coeff = NULL;
deg_x = NULL;
deg_y = NULL;
}
int Term::getCoeff(){
return coeff;
}
int Term::getX() {
return deg_x;
}
int Term::getY() {
return deg_y;
}
void Term::setX(int x){
deg_x = x;
}
void Term::setY(int x){
deg_y = x;
}
void Term::setCoeff(int x){
coeff = x;
}
__________________________
#include <iostream>
#include <fstream>
#include "Polynomial.h"
int main() {
Term* t1;
t1->setCoeff(4);
t1->setX(3);
t1->setY(6);
}
你永远不会创建对象。 你有 Term* t1
,这是一个指向随机内存的未初始化指针,然后你尝试将其与尝试使用从未创建过的对象t1->setCoeff(4)
一起使用。 这肯定会出错。
请改为这样做。
auto t1 = std::make_unique<Term>();
或者,如果您不需要它作为指针,则可以创建一个简单的堆栈变量并使用"."运算符访问它,如下所示...
Term t1;
t1.setCoeff(4);
t1.setX(3);
t1.setY(6);
相关文章:
- 尝试从C++访问 UWP 的电子邮件邮件类会导致"REGDB_E_CLASSNOTREG类未注册"错误
- C++ - 循环访问指针数组会导致错误
- 执行错误访问 遍历向量
- 错误访问 读入对象后
- 如何修复 CopyFile() 错误 5 - 访问被拒绝错误
- CreateFile 在尝试打开目录进行读取时始终返回错误 5(访问被拒绝)
- 范围检查检测到的检测代码和超出范围的错误访问
- 查找() 上的 C++ 错误访问错误
- 错误访问另一个插件中的类(错误:未定义的引用)
- C STD ::排序Intel编译器错误:访问违规
- libcurl、OSX、curl_multi_执行错误访问
- C++数组错误:访问冲突读取位置0xC0000005
- C++LinkedList错误:访问冲突错误
- 使用.open()成员函数C++的ifstream数组的错误访问代码
- C++ 段错误 访问对象指针向量的 std::vector.size()
- JNI 从 C 错误访问对象数组
- 带有内存错误访问的C++结构new
- XCode C++上的错误访问错误
- 错误访问冲突写入位置0x00229C20.尝试在控制台中输入字符串时
- MySQL 连接器/C++ 错误访问崩溃