Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.67
BigBadabum
#1

error C2059: синтаксическая ошибка - C++

19.12.2010, 13:11. Просмотров 3058. Ответов 0
Метки нет (Все метки)

Добрый день. Собственно, проблема вот в чем. Класс ContStack является наследником чисто виртуалього интерфейса NVICont. При компиляции в месте "Arg<T>* _p;" выдает ошибку:
error C2059: синтаксическая ошибка: <
1> g:\vronskiy_lab5_\vronskiy_lab5=(\container.h(90): см. ссылку на создание экземпляров класса шаблон при компиляции "ContStack<Arg,T>"
1>g:\vronskiy_lab5_\vronskiy_lab5=(\container.h(38) : error C2238: непредвиденные лексемы перед ";"
Идея в том, чтобы можно было создавать указатель *р на один объект типа 1 параметр, который, в свою очередь, параметризован вторым параметром. Подскажите пожалуйста, в чем ошибка, или такое сделать невозможно в принципе, ибо компилятор такого не понимает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
template <class Arg,class T>
class NVICont
{
public:
    void show(){return doShow();}
    const T& operator[](int a) const {return ret1(a);}
    size_t& size(){return dosize();}
    bool empty(){return doempty();}
    size_t& used(){return doused();}
    void push(T& t){return dopush(t);}
    void pop(){return dopop();}
    void pushindex(T& t,int i){return dopushindex(t,i);}
    void pushfront(T& t){return dopushfront(t);}
    void popback(){return dopopback();}
 
    virtual ~NVICont(){};
private:
    virtual void doShow()=0;
    virtual const T& ret1(int) const=0;
    virtual bool doempty()=0;
    virtual size_t& doused()=0;
    virtual size_t& dosize()=0;
    virtual void dopush(T)=0;
    virtual void dopop()=0;
    virtual void dopushindex(T,int)=0;
    virtual void dopushfront(T)=0;
    virtual void dopopback()=0;
};
 
 
template <class Arg, typename T> 
class ContStack:public NVICont<Arg,T>
{
private:
        Arg<T>* _p;                                                       - вот тут выдает ошибку
    virtual bool doempty(){return *p->currempty();}
    virtual size_t& doused(){return *p->currused();}
    virtual size_t& dosize(){return *p->currsize();}
    virtual const T& ret1(int i) const {return *p->currret1();}
    virtual void dopush(T& a) {return *p->currpush();}
    virtual void dopop() {return *p->currpop();}
    virtual void doShow() {return *p->currshow();}
    virtual void dopushindex(T,int) {return *p->currpushindex();}
    virtual void dopushfront(T) {return *p->currpushfront();}
    virtual void dopopback() {return *p->currpopback();}
public:
    ContStack(size_t size=10): _p(new Arg<T>(size))
    {
    }
 
    ~ContStack()
    {
        delete  _p;
    }
    
};
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2010, 13:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос error C2059: синтаксическая ошибка (C++):

Error C2059: синтаксическая ошибка: [ - C++
Не понимаю, почему выдает такую ошибку... Подскажите, что не так, если не сложно, заранее спасибо! void vipusk_krakena(int* Massiv,...

Error C2059: синтаксическая ошибка: else - C++
У меня проблема в этом коде , подскажите пожалуйста что нужно исправлять вот сам код #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Error C2059: синтаксическая ошибка: if - C++
Впервые с таким столкнулся: // proc_db.h #ifndef PROC_DB #define PROC_DB #include &lt;stdio.h&gt;

Error C2059: Синтаксическая ошибка: тип - C++
Вот отрывок кода, указывает, что ошибка на 5ой и 16ой строке, то есть функция min и max. ошибка: 1&gt;c:\users\андрей\documents\visual...

Синтаксическая ошибка: Ошибка 1 error C2059 - C++
#include &lt;iostream&gt; using namespace std; class Cat { public:

Error C2760: синтаксическая ошибка / Fatal error C1004: непредвиденное обнаружение конца файла - C++
Набыдлокодил следующее: Graph.h template&lt;class D&gt; class Graph { private: class Edge { private: int v1, v2;

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2010, 13:11
Привет! Вот еще темы с ответами:

Компилятор выдаёт ошибку error C2059: syntax error : '}' - C++
Компилятор visual studio 2010 выдаёт ошибку error C2059: syntax error : '}' в строке 91. Самая последняя строка #include &lt;iostream&gt; ...

error C2061: синтаксическая ошибка: идентификатор - C++
Вот такая ошибка: error C2061: синтаксическая ошибка: идентификатор using namespace std;...

Error C2059: syntax error : 'constant' - C++
Подскажите пожалуйста почему выдает ошибку error C2059: syntax error : 'constant' в этой строке : const int OK=0, EOS=0, ERROR=0; ...

Error C2059 - C++
Я второй день занимаюсь по курсам, вот решил попрактиковаться набрать программу формул умножения и такая ошибка, (C2059) работаю в visual...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru