knf 17 / 17 / 8 Регистрация: 18.09.2012 Сообщений: 184 |
||||
1 |
||||
Синтаксическая ошибка23.02.2013, 15:31. Показов 5137. Ответов 7 Метки нет (Все метки)
error C2059: синтаксическая ошибка: ]
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
23.02.2013, 15:31 |
7 |
The_bolT 73 / 73 / 12 Регистрация: 22.01.2013 Сообщений: 231 |
||||
23.02.2013, 15:33 |
2 |
|||
1 |
401 / 312 / 74 Регистрация: 17.03.2010 Сообщений: 1,119 |
|
23.02.2013, 15:35 |
3 |
0 |
knf 17 / 17 / 8 Регистрация: 18.09.2012 Сообщений: 184 |
||||||||||||
24.02.2013, 15:08 [ТС] |
4 |
|||||||||||
The_bolT, Получилось. Просто я уже убирал эти скобки и выдавало другую ошибку, а тут я написал так
а не
и получилось.. Добавлено через 23 часа 31 минуту
error C2059: синтаксическая ошибка: <
0 |
Каратель 6608 / 4027 / 401 Регистрация: 26.03.2010 Сообщений: 9,273 Записей в блоге: 1 |
|
24.02.2013, 15:15 |
5 |
Есть еще вопрос, не пойму где ошибки( компилятор же пишет в какой строке ошибка
0 |
17 / 17 / 8 Регистрация: 18.09.2012 Сообщений: 184 |
|
24.02.2013, 15:24 [ТС] |
6 |
Jupiter, 1>c:usersкомпdocumentsvisual studio 2010projects333.cpp(126): error C2059: синтаксическая ошибка: < Добавлено через 1 минуту Добавлено через 2 минуты Добавлено через 2 минуты
0 |
Заблокирован |
||||
24.02.2013, 15:26 |
7 |
|||
0 |
knf 17 / 17 / 8 Регистрация: 18.09.2012 Сообщений: 184 |
||||
24.02.2013, 16:37 [ТС] |
8 |
|||
Вот где Добавлено через 48 минут Добавлено через 9 минут
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
24.02.2013, 16:37 |
Помогаю со студенческими работами здесь Синтаксическая ошибка!)) Синтаксическая ошибка #include <fstream>… Синтаксическая ошибка синтаксическая ошибка using namespace std;… Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 8 |
I’m getting this error «Error C2059 syntax error: ‘public'» in the first «public» of the HelloWorld.h file when I try to build the project. Looks like it’s expecting something else but I’m a rookie on this. I have also tried using ref instead of __gc as the new syntax rules.
Does anybody have a clue of what can be missing here?
Thanks in advance.
HelloWorld.h
#using <mscorlib.dll>
#using "CSharpHelloWorld.netmodule"
using namespace System;
public __gc class HelloWorldC
{
public:
// Provide .NET interop and garbage collecting to the pointer.
CSharpHelloWorld __gc *t;
HelloWorldC() {
t = new CSharpHelloWorld();
// Assign the reference a new instance of the object
}
// This inline function is called from the C++ Code
void callCSharpHelloWorld() {
t->displayHelloWorld();
}
};
asked Feb 26, 2015 at 16:27
6
- use
ref class
instead of__gc class
in line 6 - use
^
instead of__gc *
in line 10 - use
gcnew
instead ofnew
in line 12 change - Common Language Runtime Support To (/clr) in
your project Properties
Hossein
3,0733 gold badges16 silver badges33 bronze badges
answered Feb 27, 2015 at 6:48
1
Несколько вещей.
Почему вы предоставляете определение методов в заголовочных файлах?
//file:CCos.h
#ifndef COS_H
#define COS_H
#include "UnaryOp.h"
class Cos: public UnaryOp{
public:
Cos(Term * l):UnaryOp(l){};
virtual ~ Cos(){};
virtual string symbolicEval(){
ostringstream oss;
oss << "cos(x)" << endl;
return oss.str();
};
virtual double numericalEval(double X){
return cos(Child->numericalEval(X));
}
}
#endif COS_H
Если вы используете «{}» после объявления метода в файле «.H», не могли бы вы объяснить, что это значит? Как это понимает компилятор?
Когда вы используете двоеточие? Это после объявления метода или после определения или для обоих?
.H файлы скомпилированы? Зачем? почему бы и нет?
Если бы вы могли ответить на них, у вас есть свой ответ. Это больше домашнее задание. Просим вас публиковать только актуальные и только те вопросы, по которым вам нужна техническая помощь.
Я пишу программу дерева алгебры. Во время компиляции у меня появилось много ошибок. Я не знаю, откуда берутся ошибки.
Вот мой код:
//file: Term.h
#ifndef TERM
#define TERM
#include <sstream>
#include <string>
using namespace std;
class Term {
public:
Term() {}
virtual ~Term() {}
virtual string symbolicEval() = 0;
virtual double numericalEval(double X) = 0;
};
#endif
//file: UnaryOp.h
#ifndef UNARYOP
#define UNARYOP
#include "Term.h";
class UnaryOp: public Term{
protected:
Term* Child;
public:
UnaryOp(Term* l){Child = l;};
virtual ~UnaryOp(){delete Child;};
virtual string symbolicEval(){};
virtual double numericalEval(){};
};
#endif UNARYOP
//file:CCos.h
#ifndef COS_H
#define COS_H
#include "UnaryOp.h"
class Cos: public UnaryOp{
public:
Cos(Term * l):UnaryOp(l){};
virtual ~ Cos(){};
virtual string symbolicEval(){
ostringstream oss;
oss << "cos(x)" << endl;
return oss.str();
};
virtual double numericalEval(double X){
return cos(Child->numericalEval(X));
}
}
#endif COS_H
При компиляции я получил следующие ошибки:
1>c:usersadministratordesktopalgebraalgebraunaryop.h(3): warning C4067: unexpected tokens following preprocessor directive - expected a newline
1>c:usersadministratordesktopalgebraalgebraccos.h(6): error C2236: unexpected 'class' 'Cos'. Did you forget a ';'?
1>c:usersadministratordesktopalgebraalgebraccos.h(6): error C2143: syntax error : missing ';' before ':'
1>c:usersadministratordesktopalgebraalgebraccos.h(6): error C2059: syntax error : ':'
1>c:usersadministratordesktopalgebraalgebraccos.h(6): error C2059: syntax error : 'public'
1>c:usersadministratordesktopalgebraalgebraccos.h(6): error C2143: syntax error : missing ';' before '{'
1>c:usersadministratordesktopalgebraalgebraccos.h(6): error C2447: '{' : missing function header (old-style formal list?)
1>c:usersadministratordesktopalgebraalgebraalgebra.cpp(29): error C2061: syntax error : identifier 'Cos'
Может кто-нибудь подскажет мне, где я ошибаюсь?
13 нояб. 2014, в 06:28
Поделиться
Источник
3 ответа
Начните с замены
#include "Term.h";
от
#include "Term.h"
(может быть, что-то не так). И в самом деле, первое сообщение об ошибке точно сообщило вам, что препроцессор ожидал новую строку, где вы написали точку с запятой, поэтому в следующий раз сначала прочтите сообщения об ошибках.
Doc Brown
13 нояб. 2014, в 03:42
Поделиться
Несколько вещей.
Почему вы предоставляете определение методов в файлах заголовков?
//file:CCos.h
#ifndef COS_H
#define COS_H
#include "UnaryOp.h"
class Cos: public UnaryOp{
public:
Cos(Term * l):UnaryOp(l){};
virtual ~ Cos(){};
virtual string symbolicEval(){
ostringstream oss;
oss << "cos(x)" << endl;
return oss.str();
};
virtual double numericalEval(double X){
return cos(Child->numericalEval(X));
}
}
#endif COS_H
Если вы используете «{}» после объявления метода в файле «.H», не могли бы вы объяснить, что это значит? Как это понимает компилятор?
Когда вы используете двоеточие? Это после объявления метода или после определения или для обоих?
Скомпилированы ли файлы.h? Зачем? почему нет?
Если бы вы могли ответить на них, у вас есть свой ответ. Это скорее домашнее задание. Попросите вас разместить только релевантные и только те вопросы, для которых вам нужна техническая помощь.
kris123456
13 нояб. 2014, в 02:49
Поделиться
вам не хватает замыкающей скобки виртуальной функции symbolicEval().
Ali Kazmi
13 нояб. 2014, в 03:57
Поделиться
Ещё вопросы
- 0Jquery меню не прячется при отпускании мыши
- 1VideoView воспроизводится нормально, но не отображается при переключении полноэкранных представлений
- 1XSLT: установить имя преобразованного выходного файла
- 1Как удалить LF в XML-файлах для получения однострочного XML-файла?
- 1Сгруппируйте по столбцам в Dataframe и создайте отдельный CSV для всей группы
- 0загрузить плагин JQuery и JQuery до загрузки HTML
- 0ОШИБКА 1055 (42000): Выражение № 1 списка SELECT отсутствует в предложении GROUP BY … это несовместимо с sql_mode = only_full_group_by [duplicate]
- 1Обобщения: «Синтаксическая ошибка на токене» расширяется «, ожидается»
- 0Могу ли я передавать обработанный видеовыход из OpenCV на ПК на планшет с Android?
- 0Существует ли кроссплатформенная библиотека для событий файловой системы?
- 0Концепция полиморфизма C ++
- 1C # Reflection: В чем разница между FieldInfo.SetValue () и FieldInfo.SetValueDirect ()?
- 1Извлечь текст из epub в Python
- 0JavaScript извлекает значение innerHTML из класса, который использует несколько тегов
- 0Meshlabserver: не удается подключиться к X-серверу ошибка
- 1Как сделать номера телефонов кликабельными в текстовом представлении в Android
- 1считать длину поля поиска в динамике crm
- 1скачать номера в игровом магазине и играть в приставку разные
- 0php простой поиск по регулярному выражению, замена и перемешивание подстроки
- 1Как установить значение месяца на основе количества
- 0Установка цвета границы с помощью jquery
- 1Как реализовать индикатор выполнения в wpf?
- 0Как я могу вставить количество в эту корзину php
- 0PHP: как вернуть счетчик значения из рекурсивной функции?
- 1Тестирование Junit: тестирование всех возможных границ?
- 0Передача функции constexpr для использования во время компиляции
- 1Как BigInteger интерпретирует байты из строки?
- 0Как сгенерировать серийный номер при выборе всех данных из таблицы?
- 0Как я могу заставить пишущую машинку Jquery / Javascript распознавать пробельные символы?
- 1Как сравнить Resultset.getString () с String в Java?
- 0C ++ Help. Массивы не работают с целыми числами
- 1Arduino мигает светодиод на нажатой кнопке приложения c #
- 0QDialog закрашивает виджеты черным при добавлении новых
- 0Regex Lookahead проблема и улучшение
- 0Сохраняйте отзывчивые встроенные блоки расположенными с помощью переносимых текстовых слов
- 0Rails Ajax Form: не могу понять, что я делаю не так
- 0Выровняйте горизонтальные изображения и текстовые ссылки внутри ul
- 1Расширение MVC — привязка модифицированного лямбда-выражения
- 1Невозможно получить какой-либо ответ от API (залп)
- 1Восстанавливаемое веб-задание Azure (не удалять из очереди)
- 0Сортировать массив от высокого к низкому
- 1dataContractSerializer известных типов
- 0Данные JSON не загружаются в Angular JS
- 1Как можно создать / удалить файлы в / data / data dir с помощью root в Android?
- 0Бит манипуляции тильда
- 0Преобразование координат SVG в координаты карты изображения HTML
- 0MySQL не запускается в панели управления Xampp в Windows 8.1
- 0Как получить экземпляр выбранного в данный момент li с помощью JQuery
- 0Цикл по соединениям с базой данных
- 0MySQLdb Ошибка подключения к базе данных
description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid |
---|---|---|---|---|---|
Learn more about: Compiler Error C2059 |
Compiler Error C2059 |
03/26/2019 |
C2059 |
C2059 |
2be4eb39-3f37-4b32-8e8d-75835e07c78a |
Compiler Error C2059
syntax error : ‘token’
The token caused a syntax error.
The following example generates an error message for the line that declares j
.
// C2059e.cpp // compile with: /c // C2143 expected // Error caused by the incorrect use of '*'. int j*; // C2059
To determine the cause of the error, examine not only the line that’s listed in the error message, but also the lines above it. If examining the lines yields no clue about the problem, try commenting out the line that’s listed in the error message and perhaps several lines above it.
If the error message occurs on a symbol that immediately follows a typedef
variable, make sure that the variable is defined in the source code.
C2059 is raised when a preprocessor symbol name is re-used as an identifier. In the following example, the compiler sees DIGITS.ONE
as the number 1, which is not valid as an enum element name:
#define ONE 1 enum class DIGITS { ZERO, ONE // error C2059 };
You may get C2059 if a symbol evaluates to nothing, as can occur when /Dsymbol= is used to compile.
// C2059a.cpp // compile with: /DTEST= #include <stdio.h> int main() { #ifdef TEST printf_s("nTEST defined %d", TEST); // C2059 #else printf_s("nTEST not defined"); #endif }
Another case in which C2059 can occur is when you compile an application that specifies a structure in the default arguments for a function. The default value for an argument must be an expression. An initializer list—for example, one that used to initialize a structure—is not an expression. To resolve this problem, define a constructor to perform the required initialization.
The following example generates C2059:
// C2059b.cpp // compile with: /c struct ag_type { int a; float b; // Uncomment the following line to resolve. // ag_type(int aa, float bb) : a(aa), b(bb) {} }; void func(ag_type arg = {5, 7.0}); // C2059 void func(ag_type arg = ag_type(5, 7.0)); // OK
C2059 can occur for an ill-formed cast.
The following sample generates C2059:
// C2059c.cpp // compile with: /clr using namespace System; ref class From {}; ref class To : public From {}; int main() { From^ refbase = gcnew To(); To^ refTo = safe_cast<To^>(From^); // C2059 To^ refTo2 = safe_cast<To^>(refbase); // OK }
C2059 can also occur if you attempt to create a namespace name that contains a period.
The following sample generates C2059:
// C2059d.cpp // compile with: /c namespace A.B {} // C2059 // OK namespace A { namespace B {} }
C2059 can occur when an operator that can qualify a name (::
, ->
, and .
) must be followed by the keyword template
, as shown in this example:
template <typename T> struct Allocator { template <typename U> struct Rebind { typedef Allocator<U> Other; }; }; template <typename X, typename AY> struct Container { typedef typename AY::Rebind<X>::Other AX; // error C2059 };
By default, C++ assumes that AY::Rebind
isn’t a template; therefore, the following <
is interpreted as a less-than sign. You must tell the compiler explicitly that Rebind
is a template so that it can correctly parse the angle bracket. To correct this error, use the template
keyword on the dependent type’s name, as shown here:
template <typename T> struct Allocator { template <typename U> struct Rebind { typedef Allocator<U> Other; }; }; template <typename X, typename AY> struct Container { typedef typename AY::template Rebind<X>::Other AX; // correct };