C++ C++;向量::M_范围_尝试使用PBPLOT时检查错误
在试图理解pbPlots库时,我编写了一段代码:C++ C++;向量::M_范围_尝试使用PBPLOT时检查错误,c++,plot,vector,error-handling,outofrangeexception,C++,Plot,Vector,Error Handling,Outofrangeexception,在试图理解pbPlots库时,我编写了一段代码: #include "pbPlots.hpp" #include "supportLib.hpp" #include <vector> #include<iostream> using namespace std; void print(std::vector<double> const &input) { for (int i = 0; i < i
#include "pbPlots.hpp"
#include "supportLib.hpp"
#include <vector>
#include<iostream>
using namespace std;
void print(std::vector<double> const &input)
{
for (int i = 0; i < input.size(); i++) {
std::cout << input.at(i) << ' ';
}
}
int main(){
RGBABitmapImageReference *imageRef = CreateRGBABitmapImageReference();
vector<double> x = {1,2,3,4,5,6,7,8,9,10};
vector<double> y = {1,4,9,16,25,36,49,64,81,100};
/*for(int i = 1; i <= 10; i++){
x.push_back(i);
y.push_back(i*i);
}*/
//print(x);
//print(y);
/*int a;
cin >> a;*/
DrawScatterPlot(imageRef, 600, 400, &x,&y);
vector<double> *pngData = ConvertToPNG(imageRef->image);
WriteToFile(pngData, "plot.png");
DeleteImage(imageRef->image);
}
#包括“pbPlots.hpp”
#包括“supportLib.hpp”
#包括
#包括
使用名称空间std;
无效打印(标准::矢量常量和输入)
{
对于(int i=0;iimage);
}
使用上面的代码,我想创建两个向量“x”和“y”,然后将它们绘制成图形并导出到png
起初,我使用for循环自动将值放入向量,然后我构建了程序,没有给出任何错误,但当我尝试运行a.exe时,我得到以下错误:
然后我认为这可能与我使用for循环有关,所以我手动输入值并再次构建程序,它再次构建时没有错误,但当我再次尝试运行a.exe时,它给出了与使用for循环之前完全相同的错误
因为我是新来的,我想知道我做错了什么
我正在运行Windows 10。4294967295是32^2-1。我猜有人使用了
size()的循环-1
在一个空向量上,这是我做错了什么,还是pbPlots的问题?@463035818\u不是一个\u数字将指针指向一个向量是相当奇怪的,如果它在库中,我不会感到惊讶。我看不到你的代码中的换行符。好吧,不要太挑剔,从源代码来看,作者要么不知道参考文献、移动构造函数和/或移动赋值操作符,或者现代时代的优化C++编译器可以执行的。所有的东西都是指针和<代码>新< /C>。但是,如果这样,你需要把代码带到你的应用程序中,而不是把已经建的东西拿出来。你用过P吗?重新构建库或在项目中包含文件?如果在保护中包含源文件,则在获得异常报告并查看时,请进入调试器。使用堆栈框架窗口展开堆栈,并在向上堆栈时检查局部变量。