当我使用openframeworks时,我有一个问题。实际上也许它是关于C ++的一些基本问题,但我无法弄清楚如何搜索它。如果有人给我一些建议,我们将非常感激。
当我在app.cpp中编写全局变量string bufferTxt
时,如:
ofApp.cpp
#include "ofApp.h"
string bufferTxt;
void ofApp::setup(){
string path = ofToDataPath("test.txt");
ifstream ifs(path.c_str());
ofBuffer buffer(ifs);
bufferTxt = buffer.getText();
}
void ofApp::draw(){
ofBackground(0);
ofDrawBitmapString(bufferTxt, ofPoint(10, 10));
}
有效。
但是,如果我在App.h的头文件中编写全局变量string bufferTxt
,如:
ofApp.h
#pragma once
#include "ofMain.h"
class ofApp : public ofBaseApp{
public:
void setup();
void draw();
string bufferTxt;
};
ofApp.cpp
#include "ofApp.h"
void ofApp::setup(){
string path = ofToDataPath("test.txt");
ifstream ifs(path.c_str());
ofBuffer buffer(ifs);
bufferTxt = buffer.getText();
}
void ofApp::draw(){
ofBackground(0);
ofDrawBitmapString(bufferTxt, ofPoint(10, 10));
}
它不起作用。 它已成功编译但有错误说:
*** error for object 0xa0592bdc: pointer being freed was not allocated***
这些以及为什么后者不起作用有什么不同?
由于