.h文件与.cpp文件

时间:2015-05-25 16:56:30

标签: c++ openframeworks

当我使用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***

这些以及为什么后者不起作用有什么不同?

由于

0 个答案:

没有答案