所以我呼籲HPStack一類,我必須把它列入我的主類等,但我得到一個錯誤「文件從收錄」,可能會造成什麼這個?需要幫助的#include上似乎並不奏效
而且我的字符串對象也有錯誤,我不知道爲什麼,錯誤是:「無法識別字符串」。
我是新的C++所以任何幫助,將不勝感激,謝謝提前。
我正在(我認爲)錯誤是這些:
error: expected unqualified-id before "namespace"
error: expected `,' or `;' before "namespace"
error: expected namespace-name before ';' token
error: `<type error>' is not a namespace
林不知道我失蹤,但沒有被告訴我了。
這裏是我的代碼:class.h文件。
#ifndef HPSTACK_H
#define HPSTACK_H
class HPStack {
public:
HPStack();
void push(double);
double pop();
double peek();
private:
double register_[4];
}
#endif
class.cpp文件。
#include "HPStack.h"
#include <cstdlib>
HPStack::HPStack() : register_{}{
}
double HPStack::push(double x) {
for (int i = 2; i >= 0; i--) {
if (isdigit(register_[i])) {
register_[i] = register_[i + 1];
}
register_[0] = x;
}
}
double HPStack::pop() {
return register_[0];
for (int i = 0; i < 3; i++) {
register_[i] = register_[i + 1];
}
}
double HPStack::peek() {
return register_[0];
}
而我的主要文件:
#include "HPStack.h"
#include <cstdlib>
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
int main() {
HPStack stack;
string line;
while (getline(cin, line)) {
stringstream expression(line);
string token;
while (expression >> token) {
if (isdigit(token[0])) {
stack.push(atof(token.data()));
} else if (token == "+") {
double x = stack.pop();
double y = stack.pop();
double z = (y + x);
stack.push(z);
}
}
cout << stack.peek();
}
什麼是完整的錯誤,什麼行它。 – 2013-05-01 17:14:41
另外,歡迎來到Stack Overflow。請花時間閱讀[常見問題]。你會得到一個徽章(C: – 2013-05-01 17:16:02
請注意,'register_ - 前陣2'返回一個指向 – 2013-05-01 17:20:55