我正在尝试为涉及使用Token
类创建对象并将其打印出来的类进行编程。这是我的主要方法:无法正确打印从C++中的函数返回的整数
int main(int argc, char** argv) {
Token tok(10, "test", 1, 2);
printf("%d\n", tok.type());
}
这是我Token.cc
文件与相关方法:
Token::Token(int t, string str, int l, int c) {
int tokType = t;
string lexStr = str;
int lineNum = l;
int charPos = c;
}
int Token::type() {
return tokType;
}
这是我Token.h
文件:
#ifndef TOKEN_H
#define TOKEN_H
using namespace std;
#include <string>
class Token{
private:
public:
Token(int t, string str, int l, int c);
~Token();
int type();
int tokType;
string lexStr;
int lineNum;
int charPos;
};
#endif
程序编译罚款,但是当我运行它会打印一个看似随机的数字,例如1475212264
或-258154088
或其他一些随机数字。
任何想法可能会出错?这真让我抓狂。
感谢
所以我不需要在.cc文件中重新定义'lexStr'?请照常服用 – wKavey
[mcve]。你的问题缺乏必要的信息/调试工作。 –
左右:http://ideone.com/1PrZZm –