我正在嘗試爲涉及使用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 –