0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
|
1 |
|
в чем ошибка??06.01.2010, 16:05. Показов 4019. Ответов 19
здравствуйте, пытаюсь компилировать программу, но появляется сообщение об ошибке в строке не подскажете, в чём дело. ещё что-то не так с комментарием — unterminated comment я описывала эту программу здесь: программа C++ для вычисления функции y=f(x)=arccot(x). всё ли правильно?? большое спасибо!!!
__________________
0 |
8378 / 3600 / 419 Регистрация: 03.07.2009 Сообщений: 10,708 |
|
06.01.2010, 16:27 |
2 |
lilliputina, какой текст ошибки и какая среда?
0 |
0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
|
06.01.2010, 16:43 [ТС] |
3 |
text oshibki v 1-m sluchae: «invalid token» i «expected unqualified-id before numeric constant» Bloodshed C++ Dev. 4.9.9.2
0 |
8378 / 3600 / 419 Регистрация: 03.07.2009 Сообщений: 10,708 |
|
06.01.2010, 17:01 |
4 |
lilliputina, полный код выложи
0 |
lilliputina 0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
||||
06.01.2010, 17:25 [ТС] |
5 |
|||
вот я попробовала ещё в Code::Blocks 8.02
такие ошибки: как их исправить?
0 |
8378 / 3600 / 419 Регистрация: 03.07.2009 Сообщений: 10,708 |
|
06.01.2010, 17:30 |
6 |
lilliputina, где # перед инклудом и почему функции внутри мейна описаны?
0 |
AnonymC 1183 / 468 / 87 Регистрация: 23.06.2009 Сообщений: 6,390 |
||||
06.01.2010, 18:05 |
7 |
|||
исправил код,и там ошибки Error 1 error C2065: ‘x’ : undeclared identifier c:documents and settingsagmy documentsvisual studio 2008projectshhh.cpp 15 h код
Добавлено через 32 секунды
0 |
0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
|
06.01.2010, 18:07 [ТС] |
8 |
# перед инклудом и есть syntax error ? я ставила #, и компилятор указал на это как на 2-ю ошибку ( может, проблема в <iostream>? функции внутри мейна почему-то не являются ошибкой ни в Bloodshed, ни в Blocks 8.02 ) спасибо, что вы мне на это указали! 18. int i — «syntax error before numeric constant» i здесь тоже double? Добавлено через 1 минуту
0 |
1183 / 468 / 87 Регистрация: 23.06.2009 Сообщений: 6,390 |
|
06.01.2010, 18:10 |
9 |
# перед инклудом и есть syntax error ? я ставила #, и компилятор указал на это как на 2-ю ошибку ( может, проблема в <iostream>? что за ошибка
0 |
0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
|
06.01.2010, 19:04 [ТС] |
10 |
первая строка — ошибка:No such file or directory using namespace std — syntax error before namespace ? вы не могли бы подсказать, как декларировать cout и cin? везде писать ::std?
0 |
1183 / 468 / 87 Регистрация: 23.06.2009 Сообщений: 6,390 |
|
06.01.2010, 19:11 |
11 |
первая строка — ошибка:No such file or directory не находит файл попробуйте iostream.h
0 |
0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
|
06.01.2010, 19:28 [ТС] |
12 |
с <iostream.h> не проходит )
0 |
M128K145 8378 / 3600 / 419 Регистрация: 03.07.2009 Сообщений: 10,708 |
||||
06.01.2010, 19:42 |
13 |
|||
Вот
, проверил в деве
0 |
1183 / 468 / 87 Регистрация: 23.06.2009 Сообщений: 6,390 |
|
06.01.2010, 21:09 |
14 |
lilliputina, выложите весь код
0 |
lilliputina 0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
||||
07.01.2010, 11:14 [ТС] |
15 |
|||
в Dev++, ошибок нет. вроде бы работает ) спасибо вам за помощь!!! но может что-то ещё подкорректировать?
0 |
M128K145 8378 / 3600 / 419 Регистрация: 03.07.2009 Сообщений: 10,708 |
||||
07.01.2010, 14:23 |
16 |
|||
lilliputina, я б твои функции так переписал бы
0 |
lilliputina 0 / 0 / 0 Регистрация: 01.01.2010 Сообщений: 10 |
||||
07.01.2010, 16:04 [ТС] |
17 |
|||
ага, спасибо!!! я ещё внесла исправления, а то у меня высчитывался арктангес, а не арккотангес )
0 |
Slav1991 0 / 0 / 2 Регистрация: 07.01.2010 Сообщений: 44 |
||||
07.01.2010, 16:34 |
18 |
|||
Помогите исправить ошибки!Компилируется норм, а результат не выдает!!!!
0 |
4725 / 2546 / 757 Регистрация: 18.08.2009 Сообщений: 4,568 |
|
07.01.2010, 16:58 |
19 |
const B=7,D=3.5; Вот в этой строке, по умолчанию D присвоено будет значение 3.
float AN,AK,HA,A,F,e,S,X; в этой строке переменной HA задаете тип float, а в этой:
scanf («%d»,&HA); считаете что эта переменная int. и задайте значение переменной e, ведь Вы ее используете в Ваших вычислениях.
0 |
0 / 0 / 2 Регистрация: 07.01.2010 Сообщений: 44 |
|
07.01.2010, 17:05 |
20 |
Спасибо!!!!
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
07.01.2010, 17:05 |
Помогаю со студенческими работами здесь В чем ошибка?По одной строке нормально в базу заходят,а две сразу вылетает ошибка?
Ошибка 2 error LNK2019, не пойму в чем ошибка В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы ошибка вылетает в чем ошибка??? int main() {… Ошибка Для нестатического поля, метода или свойства «Rmas.msf» требуется ссылка на объект. Не пойму в чем ошибка? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 20 |
rdanler
New Member
- Total Posts : 5
- Reward points : 0
- Joined: 2011/04/23 21:51:02
- Location: 0
- Status: offline
I have a curious problem that I can not find on the forums or on Google. I had about 20 C program in one project, all working OK. I updated the comment at the beginning of of each file to reflect the current date and rev. now all the files get a «Unterminated Comment» error, the comment beginning at line one. No amount of editing will make this problem go away. If I create a new file with a beginning comment it is OK. cutting and pasting the comment from the new file does not work. I suspect that something in the compiler or linker files is the real cause. Any suggestion appreciated.
Guest
Super Member
- Total Posts : 80510
- Reward points : 0
- Joined: 2003/01/01 00:00:00
- Location: 0
- Status: online
Re:»Unterminated Comment» error
2012/03/21 17:46:10
(permalink)
Yes, the linker is the most suspect component!
eskopal
Super Member
- Total Posts : 281
- Reward points : 0
- Joined: 2003/11/07 12:35:18
- Location: Ossining, New York
- Status: offline
Re:»Unterminated Comment» error
2012/03/21 20:28:13
(permalink)
Because it effects all files, the unterminated comment is probably in an «#include .h» file.
..Eugene..
rdanler
New Member
- Total Posts : 5
- Reward points : 0
- Joined: 2011/04/23 21:51:02
- Location: 0
- Status: offline
Re:»Unterminated Comment» error
2012/03/21 21:33:47
(permalink)
The error was in one of my .h files….Thanks for the great lead!!!
Common PHP 8.0 Compilation Error Messages
With PHP 8.0 closing on us, it is high time to check our code bases to see if they compile, at least. Here is a list of common PHP 8.0 compilation messages, and what do to with them.
The errors have been found on a corpus of 1756 PHP projects. Any emitted error was compared to the result of the PHP 7.4 compilation. This means that those errors are fatal in PHP 8, while they were absent, or a warning in PHP 7.4. In both cases, in PHP 7.4, it used to be possible to brush them under the carpet, but not in PHP 8.0 anymore.
Common PHP 8.0 compilation errors
- Array and string offset access syntax with curly braces is no longer supported
- Unparenthesized
a ? b : c ? d : e
is not supported. Use either(a ? b : c) ? d : e
ora ? b : (c ? d : e)
- __autoload() is no longer supported, use spl_autoload_register() instead
- Cannot use ‘parent’ when current class scope has no parent
- syntax error, unexpected ‘match’
- The (real) cast has been removed, use (float) instead
- The (unset) cast is no longer supported
- Declaration of A2::B($c, $d = 0) must be compatible with A1::B(&$c, $d = 0)
- Unterminated comment starting line
Array and string offset access syntax with curly braces is no longer supported
Array and string offset access syntax with curly braces is no longer supported
means that only the square bracket syntax is now valid.
<?php $array = range(0, 10); echo $array{3}; // 4 ?>
Replace the {
with [
, and the code will be good again. Exakat spots those with the rule No more curly arrays.
Unparenthesized a ? b : c ? d : e
is not supported. Use either (a ? b : c) ? d : e
or a ? b : (c ? d : e)
Introduced in PHP 7.4, it is not possible to nest ternary operators. This is related to ternary being right associative, while most of the operators are left associative. PHP RFC: Deprecate left-associative ternary operators.
<?php 1 ? 2 : 3 ? 4 : 5; // deprecated (1 ? 2 : 3) ? 4 : 5; // ok 1 ? 2 : (3 ? 4 : 5); // ok ?>
The error message is quite verbose : take advantage of it! Add some parenthesis, or even , split the nested operation into independent expressions. Exakat spots those with the rule Nested Ternary Without Parenthesis.
__autoload() is no longer supported, use splautoloadregister() instead
This error message might appear here thanks to very old applications. Or if they try to support very old PHP versions. In any case, the message is self-explanatory.
Cannot use ‘parent’ when current class scope has no parent
Using the parent
keyword in a class without parent, a.k.a. without extends
keyword, used to be a Deprecation Notice. In fact, the class would blow up during execution with a ‘Cannot access parent:: when current class scope has no parent’ Fatal error.
It is now a Fatal error at linting time. This will shorten significantly the time between the bug creation and its discovery.
<?php class x { function foo() { echo parent::a; } } (new x)->foo(); ?>
As for the fix, there are lots of options, depending on how this parent
keyword ended up there in the first place. Exakat spots those with the rule Class Without Parent.
syntax error, unexpected ‘match’
This is a consequence of the introduction of the match instruction in PHP. It is not possible to use that name in instantiation (new), use expressions, instanceof, typehints, functions, classes, interfaces, traits or constants. It is still OK inside a namespace, or for a variable name.
<?php // This Match is still valid, thanks to the new Qualified Name processing use PeridotLeoMatcherMatch; // This Match is invalid function foo(Match $match) { // do something } // Match side effect : syntax error, unexpected ',' $result = match($content,"'KOD_VERSION','(.*)'"); ?>
When match
is used as a function name, it may lead to an error about commas : the main argument of the new match
keyword only accept one argument, so no comma.
The only solution is to rename the classes, interfaces, traits, functions or constants with another name and update the use expressions accordingly.
The (real) cast has been removed, use (float) instead
All is said here. (real)
is gone, long live (float)
.
<?php $price = (real) getActualPrice(); ?>
Just replace (real)
by (float)
. While you’re at it, you can replace is_real()
by is_float()
: is_real()
didn’t make it into PHP 8.0. Exakat spots those with the rule Avoid Real.
The (unset) cast is no longer supported
The big brother of the unset function is a type cast (unset)
. It used to be actually the typecast (null)
(not in name, but in usage). Very little new about this, and it is a good thing : it is gone for good.
<?php (unset) $foo; ?>
Exakat spots those with the rule Cast unset usage.
Declaration of A2::B($c, $d = 0) must be compatible with A1::B(&$c, $d = 0)
Checking for method compatibility used to be a warning in PHP 7, and it is now a Fatal error at linting time. The method signature in a parent and its child class must be compatible. It means a lot of different things, depending on visibility, reference, typehint, default values. It is worth a whole article by itself.
The important part is three folds : first, PHP 8.0 emits a Fatal error at compile time for that. So, your PHP 7.0 may hurt on 8.0. If you can fix it now.
<?php class A1 { function B(&$c, $d = 0) {} } class A2 extends A1 { function B($c, $d = 0) {} } ?>
The second important part is that it only works when PHP lints both classes (parent and child), in the same file, and in the right order : parent first, child second. Otherwise, PHP will only check the compatibility at execution time, and deliver a Fatal error at the worst moment.
The third important part is that compatibility between method signature doesn’t cover argument names. The following code is valid, and a major sleeping bug. Just notice that the variables have been swapped.
<?php class A1 { function B($c, $d = 0) {} } class A2 extends A1 { function B($d, $c = 0) {} } ?>
Exakat spots those with the following rules Incompatible Signature Methods, and Swapped arguments.
Unterminated comment starting line
Unterminated comment starting line
used to be a warning. It is now a parse error.
<?php /** I always start, but never finish...
Just close the comment, and the code will be good again.
Compile with PHP 8.0 now!
PHP 8.0 moved a significant number of messages from Notice to Fatal errors, and, more importantly, from the execution phase to linting phase. This means that checking your current code with PHP 8.0 is sufficient to bring light on quirky pieces of code that will raise error when you want to upgrade to PHP 8.0. Simply fixing them will also improve your PHP 7.x code!
In the meantime, linting is as fast as it is superficial : it processes files individually, and postpone until execution some of the checks. Static analysis tools cover those situations, and report very early potential bugs and inconsistencies.
Install exakat and run the Migration audit on your code to get even better prepared for the Great Apparition of PHP 8.0. See you next month!