D
DenisNN
Здравствуйте! Подскажите пожалуйста в чем здесь дело? Объявил extern указатели в файле .h, а использую в main.cpp, и компилятор постоянно выдает LINK ошибки.
parser.h
parser.cpp
main.cpp
parser.h
C++:
/*
parser.h
vc_size - variables & constants buffer.
token - external representation of token. Остается всегда в верху - не изменяется в функциях, изменяется по средствам временных указателей temp.
prog - main external program.
temp - internal function point. Временных указателей в функциях который изменяет token.
tokenT - internal representation of token
*/
#pragma once
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
#include <conio.h>
#include <cctype>
using namespace std;
///// Is alpha token ////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
const int vc_size = 20;
const int PROG_SIZE = 10000;
enum tokenT {UNDEFTOK, NUMBER, OPERATOR}; // The internal representation of token
extern char token[80]; // External representation.
extern char *prog; // External program.
extern char *p_buff;
extern tokenT token_type; // Internal oken type
class parser
{
public:
///// variables /////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
bool is_sp_tab(char*); // Пробел или табуляция
bool is_delimiter(char*); // Разделитель
};
tokenT get_token();
parser.cpp
C++:
#include "parser.h"
/*
tokenT get_token()
{
register char *temp;
token_type = UNDEFTOK;
temp = token;
if(*prog == '\0')
*token = '\0';
return(token_type = OPERATOR);
}
*/
///// Пробел или табуляция //////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
bool parser::is_sp_tab(char *prg)
{
if(*prg == ' ' || *prg == '\t')
{ cout << "Space" << endl;
return true;
}
cout << "No space" << endl;
return false;
}
main.cpp
C++:
#include "parser.h"
int main()
{
parser ob;
prog = new char[PROG_SIZE];
cin >> prog;
p_buff = prog;
ob.is_sp_tab(p_buff);
//get_token();
return 0;
}