Compilation failed due to following error перевод

Compilation failed due to following error перевод I got below errors while run the code. any ideawhat are these errors? I use c++14. Below are the errors: Compilation failed due to following error(s).In file included from /usr/include/c++/6/memory:81:0, from main.cpp:3: /usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq ::__single_object std::make_unique(_Args&& . ) [with _Tp = Rectangle; _Args […]

Содержание

  1. Compilation failed due to following error перевод
  2. «503 Service Temporarily Unavailable»: перевод, что значит и как исправить
  3. Причины появления
  4. Как исправить ошибку
  5. Как действовать вебмастеру
  6. Undefined reference to main c++ [SOLVED]
  7. undefined reference to ‘main’ c++
  8. SOLUTION : Undefined reference to main c++
  9. undefined reference to func() c++
  10. SOLUTION : Undefined reference to function c++
  11. Reader Interactions
  12. Leave a Reply Cancel reply
  13. Primary Sidebar
  14. Search here
  15. Social Media
  16. SEE MORE
  17. Fibonacci sequence c++
  18. C++ Map [Learn by Example]
  19. how to copy paste in turbo c++ ?
  20. return 0 c++
  21. c++ expected a declaration [ SOLVED]

Compilation failed due to following error перевод

I got below errors while run the code. any ideawhat are these errors?
I use c++14.

Below are the errors:

Compilation failed due to following error(s).In file included from /usr/include/c++/6/memory:81:0,
from main.cpp:3:
/usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq ::__single_object std::make_unique(_Args&& . ) [with _Tp = Rectangle; _Args = ; typename std::_MakeUniq ::__single_object = std::unique_ptr >]’:
main.cpp:60:74 : required from here
/usr/include/c++/6/bits/unique_ptr.h:795:30: error: invalid new-expression of abstract class type ‘Rectangle’
< return unique_ptr (new _Tp(std::forward (__args). )); >
^

main.cpp:24:7: note: because the following virtual functions are pure within ‘Rectangle’:
class Rectangle: public Shape
^

main.cpp:21:20: note: virtual double Shape::getarea() const
virtual double getarea() const = 0;
^

In file included from /usr/include/c++/6/memory:81:0,
from main.cpp:3:
/usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq ::__single_object std::make_unique(_Args&& . ) [with _Tp = Triangle; _Args = ; typename std::_MakeUniq ::__single_object = std::unique_ptr main.cpp:61:73 : required from here
/usr/include/c++/6/bits/unique_ptr.h:795:30: error: invalid new-expression of abstract class type ‘Triangle’
< return unique_ptr (new _Tp(std::forward (__args). )); >
^

main.cpp:33:7: note: because the following virtual functions are pure within ‘Triangle’:
class Triangle: public Shape
^

main.cpp:21:20: note: virtual double Shape::getarea() const
virtual double getarea() const = 0;
^

In file included from /usr/include/c++/6/memory:81:0,
from main.cpp:3:
/usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq ::__single_object std::make_unique(_Args&& . ) [with _Tp = Circle; _Args = ; typename std::_MakeUniq ::__single_object = std::unique_ptr >]’:
main.cpp:62:60 : required from here
/usr/include/c++/6/bits/unique_ptr.h:795:30: error: invalid new-expression of abstract class type ‘Circle’
< return unique_ptr (new _Tp(std::forward (__args). )); >
^

main.cpp:42:7: note: because the following virtual functions are pure within ‘Circle’:
class Circle : public Shape
^

main.cpp:21:20: note: virtual double Shape::getarea() const
virtual double getarea() const = 0;
^

Note you should be getting several warnings that give you valuable hints as to what is wrong, never ignore warnings.

The first thing I would recommend is that you comment out the code in main after your «cin» statement and just create one instance of one of your classes. For example «Rectangle test(rectHeight, rectWidth);» , get that one line to compile correctly before you try to complicate things with the vector and the unique_ptr.

With just that one instance here are the messages I get:

||=== Build: Debug in c++homework (compiler: GNU GCC Compiler) ===|
/main.cpp|10|warning: ‘class Shape’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|24|warning: base class ‘class Shape’ has accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|24|warning: ‘class Rectangle’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|33|warning: base class ‘class Shape’ has accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|33|warning: ‘class Triangle’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|42|warning: base class ‘class Shape’ has accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|42|warning: ‘class Circle’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp||In function ‘int main()’:|
/main.cpp|58|error: no matching function for call to ‘Rectangle::Rectangle(int&, int&)’|
/main.cpp|24|note: candidate: ‘Rectangle::Rectangle()’|
/main.cpp|24|note: candidate expects 0 arguments, 2 provided|
/main.cpp|24|note: candidate: ‘Rectangle::Rectangle(const Rectangle&)’|
/main.cpp|24|note: candidate expects 1 argument, 2 provided|
/main.cpp|24|note: candidate: ‘Rectangle::Rectangle(Rectangle&&)’|
/main.cpp|24|note: candidate expects 1 argument, 2 provided|
/main.cpp|58|error: cannot declare variable ‘test’ to be of abstract type ‘Rectangle’|
/main.cpp|24|note: because the following virtual functions are pure within ‘Rectangle’:|
/main.cpp|21|note: ‘virtual double Shape::getarea() const’|
||=== Build failed: 2 error(s), 7 warning(s) (0 minute(s), 1 second(s)) ===|

Fixing those warnings is very important. You also seem to need several constructor and destructors.

If I comment below lines, I can see the below error. Can you provide some inputs here?

//std::vector > shapes;
//shapes.emplace_back(std::make_unique (rectHeight, rectWidth));
//shapes.emplace_back(std::make_unique (triaHeight, triaWidth));
//shapes.emplace_back(std::make_unique (circRadius));

Below is the error.

main.cpp: In function ‘int main()’:
main.cpp:66:43: error: ‘shapes’ was not declared in this scope
const int totalArea = std::accumulate(shapes.begin(), shapes.end(), 0, [](int total, const auto& shape)

Minor: Lines 6-7 are unnecessary if you’re going to bring in the entire std namespace at line 8. Suggestion: Change line 8 to using std::string;

Line 21 is a pure virtual function making Shape an abstract class. The compiler is telling you you can’t instantiate a Rectangle because Shape is an abstract class. This is because there is no overload in Rectangle because there is no overload for line 21. Note that line 27 does not overload line 21 because of a difference in constness of the two functions.

Line 60: You’re trying to construct a Rectangle with 2 arguments. Rectangle has no such constructor.

Line 68: totalArea is an int . getArea() return a double .

I have made the below changes, please check the code. I am not sure why again those errors are seen here? please help me.

Источник

«503 Service Temporarily Unavailable»: перевод, что значит и как исправить

Всем привет! Сегодня мы рассмотрим «Ошибку 503». «Error 503 Service Temporarily Unavailable» (перевод с англ. языка – «Служба Временно Недоступна») – критическая ошибка, появляющаяся при подключении к веб-серверу, неспособному в текущий момент обработать входящий запрос по техническим причинам – из-за перерыва на обслуживание и вынужденных обновлений, инициированных вебмастером.

Несмотря на наличие точной кодировки, а порой еще и с дополнительным описанием, расшифровать выдаваемое сообщение, и сразу принять меры – сложно. Виной тому – разное наименование в зависимости от конфигурации веб-сервера, выбранной системы управления содержимым: WordPress, Joomla, DLE и т.д. В результате «Error 530» часто превращается и в «HTTP 503», и в «Http/1.1 error 503 Service Unavailable». Отсюда и появляются дополнительные сложности, вынуждающие заняться углубленной диагностикой.

«The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.»

ПЕРЕВОД: Сервер временно не может обслуживать ваш запрос из-за простоя технического обслуживания или проблем с емкостью. Пожалуйста, повторите попытку позже.

Причины появления

  • Запрашиваемая веб-страница потеряла связь с базой данных из-за повышенного спроса и сильной нагрузки на сервер. Проблема временная и часто решается даже без личного вмешательства.
  • Установленные плагины, расширения или компоненты на сайте несовместимы, давно не обновлялись или загружены не из официальных источников для каждой CMS (системы управления содержимым), а со сторонних сайтов, а потому небезопасны и приводят к ошибкам. Если дополнительные инструменты уже добавлены, то отключать лишние элементы придется уже на хостинге, а не через «Панель администратора».
  • Добавленные на Web-страницу скрипты долго обрабатываются, из-за чего сайт сбрасывает текущее соединение с пользователем.
  • «503 ошибка» – часто свидетельствует о слабой пропускной способности и низкой мощности выбранного хостинга (преимущественно бесплатного). Из-за неожиданного наплыва новых пользователей, сайт банально не справляется с нагрузкой.

Как исправить ошибку

Со стороны клиента, обращающегося к веб-ресурсу с «ошибкой 503», повлиять на ситуацию невозможно – технические неполадки связаны напрямую с сервером принимающей стороны. И восстанавливать работоспособность сайта предстоит уже администраторам или разработчикам.

Пользователям остается или периодически обновлять страницу, или проверять наличие ошибок сторонними инструментами, вроде диагностического сервиса «IsItDownRightNow». Стоит добавить ссылку в текстовое поле, нажать на кнопку «Check» и на экране появится результат – сайт недоступен, доступ ограничен или веб-страницы загружаются в штатном режиме.

Если сервис IsItDownRightNow подтвердил работоспособность, но ошибка 503 никуда не исчезла, придется экспериментировать. Начать лучше с перезагрузки роутера или маршрутизатора, а после – выбрать сторонний браузер. Вместо Google Chrome – Mozilla Firefox или Microsoft Edge.

Как действовать вебмастеру

Администраторы и разработчики повлиять на ситуацию способны в полной мере, главное – знать какие вещи исправлять и к чему стремиться:

  • Желательно отказаться от тяжелых и ресурсоемких скриптов, при загрузке часто обращающихся к базе данных. Как показывает практика – перенасыщение скриптами происходит при использовании шаблонов для CMS. Стоит просмотреть информацию о содержимом шаблонов и сразу отказаться от лишних элементов. Оставить рекомендуется: инструменты кэширования и оптимизации страниц, сервисы сжатия изображений, и подготовки бэкапов по расписанию.
  • При использовании ежедневной информационно-развлекательной почтовой рассылки рекомендуется сменить время для передачи сообщений с часа-пик, когда посетителей на сайте необычайно много, на ранее утро или позднюю ночь. Так сайту не придется обрабатывать случайные запросы пользователей, а затем еще и упаковывать корреспонденцию.
  • О регулярных обновлениях CMS, плагинов или расширений стоит вспоминать хотя бы 2-3 раза в неделю. А вот соглашаться на фоновые апдейты в автоматическом режиме не стоит – могут возникнуть уже новые проблемы с несовместимостью или ненужными нововведениями.
  • Для изображений, публикуемых на сайте, лучше загрузить дополнение, способное сжимать контент до определенного размера или в каком-то процентном соотношении без потери итогового качества.
  • Если на сайте доступен чат – лучше выставить ограничение на количество «общающихся» пользователей. Если выбранный хостинг бесплатный, установлен не на SSD и плохо справляется с наплывом пользователей.

И еще – в панели администратора или уже на сайте хостинга ежедневно собирается статистика, связанная с запросами и подробностями о круглосуточной активности. Возможно, ресурс сканируют боты или парсеры (а, быть может, и конкуренты) из-за чего и появляется надпись «The Service Is Unavailable». Избежать проблем поможет защита или хотя бы консультация с технической поддержкой хостинга.

Источник

Undefined reference to main c++ [SOLVED]

As a beginner c++ developer , you probably might get error like undefined reference to `main’.

Generally this error occurs when we forgot not define main() function in program. In any c++ program main() function is necessary to start a program. So whenever you create any class then do not forgot to add main function in your project and then you can call class functions from main.

undefined reference to ‘main’ c++

Output:

Here we have just created class inside our program and not define any main function. So here we are getting error undefined reference to main c++.

SOLUTION : Undefined reference to main c++

We can resolve this error by adding main function inside program.

Also many time possible for new developer of someone coming from C# background that they define main() function inside class. So just remember that we have to define main() function as a global in C++.

undefined reference to func() c++

When we declare and function but not added it’s definition then we get undefined reference to func c++ error.

Here we will get error by compiler :

Compilation failed due to following error(s). main.cpp:(.text+0x5): undefined reference to `func()’

SOLUTION : Undefined reference to function c++

We can resolve it by adding c++ function definition.

CONCLUSION:

Make sure in c++ whenever you are getting any compilation errors like undefined reference to main c++ or undefined reference to func c++ ( here func can be any name of function.) then you have to add definition of that function inside your file. Once you have added definition of function then you will not get any undefined reference c++ error and program will be executed successfully.

Reader Interactions

Leave a Reply Cancel reply

Search here

SEE MORE

Fibonacci sequence c++

Fibonacci Sequence c++ is a number sequence which created by sum of previous two numbers. First two number of series are 0 and 1. And then using these two number Fibonacci series is create like 0, 1, (0+1)=1, (1+1)=2, (2+1)=3, (2+3)=5 …etc Displaying Fibonacci Series in C++ ( without recursion) Output: From given output we […]

C++ Map [Learn by Example]

C++ map is part of Standard Template Library (STL). It is type of Associative container. Map in c++ is used to store unique key and it’s value in data structure. But if you want to store non-unique key value then you can use Multi Map in c++. Let us first understand in detail what is […]

how to copy paste in turbo c++ ?

There are many different C++ IDE are available but still many students are using Turbo c++ for learning c/c++ programming languages. During using Turbo c++ if you are beginner you will be confuse for how to copy and paste in turbo c++ or if you have already copy some content and you want to paste […]

return 0 c++

There are two different scenario return statement is used inside c++ programming. We can use return 0 c++ inside main() function or other user defined functions also. But both have different meanings. return 0 c++ used inside Main function return 0 c++ used inside other user defined function What is meaning of return 0 and […]

c++ expected a declaration [ SOLVED]

When any function or statement is not in scope or we have used wrong syntax then possibly you will get error for c++ expected a declaration in your code. Main reasons for errors are: Incorrect use/declaration inside namespace Statements are added out of scope Required statement need to add inside main/function Solution-1 | Expected a […]

Источник

0 / 0 / 0

Регистрация: 30.05.2020

Сообщений: 4

1

30.05.2020, 21:50. Показов 3294. Ответов 1


Всем привет, делаю код на программу которая переводит числа из арабских в римские, и у меня нет компилятора, опыта тоже не так много, проверяю код в онлайн компиляторе, и столкнулся с проблемой. Вот мой код

C++ (Qt)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#define underline "33[4m"
#include <string>
#include <fstream>
#include <cmath>
#include <cstdlib>
 
using namespace std;
 
int main() 
{
    setlocale(0, "");
    int i, x, M, D, C, L, X1, V, I, M2, D2, C2, L2, X2, V2, I2, O;
    cout << underline << "Введите число меньше 4000000." << endl;
    std::cin >> x;
    M=x/1000;
    O=O%1000;
    D=O/500;
    O=O%500;
    C=O/100;
    O=O%100;
    L=O/50;
    O=O%50;
    X1=O/10;
    O=O%10;
    V=O/5;
    O=O%5;
    I=O/1;
    O=O%1;
    cout << "Ваше число " << endl;
    if (x>3)
    {
        M2=O/1000;
        O=O%1000;
        D2=O/500;
        O=O%500;
        C2=O/100;
        O=O%100;
        L2=O/50;
        O=O%50;
        X2=O/10;
        O=O%10;
        V2=O/5;
        O=O%5;  
        I2=O/1;
        O=O%1;
    }
    else
    {
        for (i=0, i<M; i++)
            cout << "M";
        for (i=0, i<D; i++)
            cout << "D";
        for (i=0, i<C; i++)
        {
            if (C<4)
                cout << "C";
            else
                cout << "CD";
        }
        for (i=0, i<L; i++)
            cout << "L";
        for (i=0, i<C; i++)
        {
            if (C<4)
                cout << "X";
            else
                cout << "XL";
        }
        for (i=0, i<V; i++)
            cout << "V";
        for (i=0, i<C; i++)
        {
            if (C<4)
                cout << "I";
            else
                cout << "IV";
        }   
    }
    cout << underline <<"This is the text which underlineis going to be underlined.";
    return 0;
}

Вроде все хорошо, я пока не проработал верхнюю часть для работы с числами выше 4000, так как там появляется подчеркивание, но там тоже что и ниже повторяется.
Так вот у меня онлайн компилятор ругается и выдает вот такие ошибки.

Compilation failed due to following error(s).main.cpp: In function ‘int main()’:
main.cpp:31:7: error: expected unqualified-id before ‘if’
std::if (x>4)
^~
main.cpp:49:2: error: ‘else’ without a previous ‘if’
else
^~~~
main.cpp:51:21: error: expected ‘;’ before ‘)’ token
for (i=0, i<M; i++)
^
main.cpp:53:21: error: expected ‘;’ before ‘)’ token
for (i=0, i<D; i++)
^
main.cpp:55:21: error: expected ‘;’ before ‘)’ token
for (i=0, i<C; i++)
^
main.cpp:62:21: error: expected ‘;’ before ‘)’ token
for (i=0, i<L; i++)
^
main.cpp:64:21: error: expected ‘;’ before ‘)’ token
for (i=0, i<C; i++)
^
main.cpp:71:21: error: expected ‘;’ before ‘)’ token
for (i=0, i<V; i++)
^
main.cpp:73:21: error: expected ‘;’ before ‘)’ token
for (i=0, i<C; i++)
^

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0




На основании Вашего запроса эти примеры могут содержать грубую лексику.


На основании Вашего запроса эти примеры могут содержать разговорную лексику.

ошибку компиляции

об ошибках при компиляции


After you make the changes, you should remove the comment from the script that causes the compilation error and run it.



После внесения изменений следует удалить из скрипта комментарий, из-за которого возникает ошибка компиляции и запустить его на исполнение.


I don’t understand why it is giving me a compilation error


This causes a compilation error, since the structure type foo will thus be defined twice.



Это может вызвать ошибку компиляции, так как структура типа foo явным образом определяется дважды.


The following example, on the other hand will produce compilation error


Sometimes, the syntax of a source code might be flawless, but a compilation error might still occur.



Иногда, синтаксис исходного кода может быть безупречным, но ошибка компиляции все же может произойти.


This example throws compilation error because we are trying to access the private data member and method of class ABC in the class Example.



В этом примере выдается ошибка компиляции, поскольку мы пытаемся получить доступ к закрытому члену данных и методу класса АВС в классе Example.


If someone worked in the Microsoft Visual Basic development environment, then he or she knows that if you type the If statement, then comparison character and press the Enter key without typing the Then word, Visual Basic will indicate that a compilation error has occurred.



Если кто-то работал в среде разработки Microsoft Visual Basic, то он или она знает, что если набрать оператор «если», символ сравнения и нажать клавишу Enter, не набрав слово «then», то Visual Basic укажет, что произошла ошибка компиляции.


You will get a compilation error.


Script Component: Compilation Error


Script Task: Compilation Error


Dummy code is inserted in a program skeleton to simulate processing and avoid compilation error messages.



Фиктивный код код будет вставлен в программу каркаса для симуляции обработки и во избежание сообщений об ошибках при компиляции.


compilation error, as there is no constructor


Binder There was no compilation error.


During the test compilation error.


Compilation error No Compilation of the solution failed Compilation of the solution failed 1.



Compilation error Нет Компиляция программы завершилась с ошибкой Компиляция программы завершилась с ошибкой 1.

Ничего не найдено для этого значения.

Результатов: 16. Точных совпадений: 16. Затраченное время: 41 мс

Documents

Корпоративные решения

Спряжение

Синонимы

Корректор

Справка и о нас

Индекс слова: 1-300, 301-600, 601-900

Индекс выражения: 1-400, 401-800, 801-1200

Индекс фразы: 1-400, 401-800, 801-1200

Ваш текст переведен частично.
Вы можете переводить не более 999 символов за один раз.

Войдите или зарегистрируйтесь бесплатно на PROMT.One и переводите еще больше!

<>


failed

прилагательное



— / —

неудавшийся






Palestine as a Failed State

Палестина как неудавшееся государство

Больше

несостоявшийся






The Failed State of Egypt?

Несостоявшееся египетское государство?

Больше

обанкротившийся






The governments in Athens, Brussels, and even Berlin cannot live with Greece as a failed state and economy.

Власти в Афинах, Брюсселе и даже Берлине не смогут нормально работать, если Греция станет недееспособным государством с обанкротившейся экономикой.

Больше

потерпевший крах


Latin America’s Failed Macroeconomic Dictatorships

Макроэкономическая диктатура в Латинской Америке, потерпевшая крах

Больше

другие переводы 3

свернуть

failed / failed / failing / fails

не удаваться


It doesn’t matter if you fail.

И вовсе не важно, если вам не удастся.

Больше

проваливаться






You cannot fail this time.

Ты не можешь провалиться на этот раз.

Больше

потерпеть неудачу


They may succeed or fail;

Они могут как преуспеть, так и потерпеть неудачу;

Больше

быть не в состоянии


Sometimes we know the best thing to do, but fail to do it.

Иногда мы знаем, что лучше всего сделать, но не в состоянии это сделать.

Больше

сбоить






Invalid characters will cause directory synchronization to fail.

Недопустимые символы приведут к сбою синхронизации службы каталогов.

Больше

отказывать






Environmental controls continue to fail.

Контроль окружающей среды продолжает отказывать.

Больше

подводить






I’ll never fail you.

Я тебя никогда не подведу.

Больше

потерпеть крах


Should this awakening fail, the result will be a radicalization throughout the region.

Если это пробуждение потерпит крах, то результатом станет радикализация региона.

Больше

терпеть неудачу


Still, not all transplants fail.

Не все трансплантанты терпят неудачу.

Больше

рухнуть






in chaotic conditions of great political uncertainty, markets fail.

в условиях хаоса большой политической неопределенности рынки рухнут.

Больше

завершаться ошибкой


If these settings aren’t correct, Office activation might fail.

Если эти параметры неправильные, активация Office может завершаться ошибкой.

Больше

завершаться неудачей


The upload process can fail for several reasons.

Процесс отправки может завершиться неудачей по нескольким причинам.

Больше

выходить из строя


Defenders of markets sometimes admit that they do fail, even disastrously, but they claim that markets are «self-correcting.»

Защитники рынки иногда соглашаются с тем, что они выходят из строя, даже в катастрофическом масштабе, но они утверждают, что рынки «саморегулируются».

Больше

завершаться с ошибкой


Running Office as administrator helps fix permission issues that might cause Office activation to fail.

Запуск Office от имени администратора помогает устранить неполадки с разрешениями, из-за которых активация Office может завершаться с ошибкой.

Больше

расстраиваться






Denisova said she is frustrated that Russia fails to recognize the migrants’ value and grant them legal status.

Денисова отметила, что очень расстроена тем, что Россия не признает значения мигрантов и не хочет предоставить им легальный статус.

Больше

преминуть






He did not fail to confess.

Он не преминул признаться.

Больше

другие переводы 17

свернуть

Словосочетания (38)

  1. failed bank — банк-банкрот
  2. failed coup — неудавшийся переворот
  3. failed drive — поврежденный диск
  4. failed firm — обанкротившаяся фирма
  5. failed state — несостоявшееся государство
  6. error login failed — ошибка входа в систему
  7. failed attempt — неудачная попытка
  8. failed authentication — неудачная аутентификация
  9. failed authentication attempt — неудачная попытка аутентификации
  10. failed backup — неудавшееся резервное копирование

Больше

Контексты

Product receipt failed notification workflow
Не удалось выполнить workflow-процесс уведомления для поступления продуктов

The Other Failed Peace Process
Еще один провалившийся мирный процесс

How the IMF Failed Greece
Как МВФ потерпел неудачу с Грецией

It is not just politicians who have failed to provide leadership here.
Не только политики не в состоянии обеспечить руководящую роль в этом вопросе.

Palestine as a Failed State
Палестина как неудавшееся государство

Больше

Бесплатный переводчик онлайн с английского на русский

Хотите общаться в чатах с собеседниками со всего мира, понимать, о чем поет Билли Айлиш, читать английские сайты на русском? PROMT.One мгновенно переведет ваш текст с английского на русский и еще на 20+ языков.

Точный перевод с транскрипцией

С помощью PROMT.One наслаждайтесь точным переводом с английского на русский, а для слов и фраз смотрите английскую транскрипцию, произношение и варианты переводов с примерами употребления в разных контекстах. Бесплатный онлайн-переводчик PROMT.One — достойная альтернатива Google Translate и другим сервисам, предоставляющим перевод с английского на русский и с русского на английский.

Нужно больше языков?

PROMT.One бесплатно переводит онлайн с английского на азербайджанский, арабский, греческий, иврит, испанский, итальянский, казахский, китайский, корейский, немецкий, португальский, татарский, турецкий, туркменский, узбекский, украинский, финский, французский, эстонский и японский.

I have the following program that compiles successfully on my machine using GCC 7.5.0 but when i try out the program here the program doesn’t work.

class Foo 
{
    friend void ::error() { }

};
int main()
{
    
    return 0;
}

The error here says:

Compilation failed due to following error(s).

    3 |     friend void ::error() { }
      |                         ^

My question what is the problem here and how can i solve it.

asked Feb 6, 2022 at 7:25

Jason Liam's user avatar

Jason LiamJason Liam

32.4k5 gold badges21 silver badges52 bronze badges

3

The problem is that a qualified friend declaration cannot be a definition. In your example, since the name error is qualified(because it has ::) so the corresponding friend declaration cannot be a definition.

This seems to be a bug in GCC 7.5.0. For example, for gcc 7.5.0 the program works but for gcc 8.4.0 and higher it doesn’t work.

One way to solve thiswould be to remove the body { } of the error function and make it a declaration by adding semicolon ; as shown below:

//forward declare function error()
void error();

class Foo 
{
    friend void ::error();//removed the body { } . This is now a declaration and not a definition

};
int main()
{
    
    return 0;
}
//definition of function error 
void error()
{
    
}

Note you can also put the definition of function error() before the definition of class Foo as shown here.

Another way to solve this would be to remove the :: and make error an unqualified name as shown here

answered Feb 6, 2022 at 7:34

Jason Liam's user avatar

Jason LiamJason Liam

32.4k5 gold badges21 silver badges52 bronze badges

  • 1
    following error

    Англо-русский словарь нормативно-технической терминологии > following error

  • 2
    following error

    ошибка слежения; ошибка рассогласования

    English-Russian base dictionary > following error

  • 3
    following error

    English-Russian big polytechnic dictionary > following error

  • 4
    following error

    The English-Russian dictionary general scientific > following error

  • 5
    following error

    Большой англо-русский и русско-английский словарь > following error

  • 6
    following error

    Англо-русский словарь технических терминов > following error

  • 7
    following error

    Англо-русский технический словарь > following error

  • 8
    following error

    Универсальный англо-русский словарь > following error

  • 9
    following error

    Англо-русский словарь по гражданской авиации > following error

  • 10
    following error

    English-Russian dictionary of mechanical engineering and automation > following error

  • 11
    following error

    ошибка слежения; ошибка рассогласования

    English-Russian dictionary of computer science and programming > following error

  • 12
    following error

    Англо-русский словарь по электроэнергетике > following error

  • 13
    following error

    ошибка слежения [сопровождения]; рассогласование следящей системы

    Englsh-Russian aviation and space dictionary > following error

  • 14
    following error

    English-Russian dictionary of computer science > following error

  • 15
    path following error (PFE)

    1. погрешность следования летательного аппарата по траектории системы МЛС

    Англо-русский словарь нормативно-технической терминологии > path following error (PFE)

  • 16
    path-following error

    English-Russian big polytechnic dictionary > path-following error

  • 17
    path following error

    Большой англо-русский и русско-английский словарь > path following error

  • 18
    position following error

    Большой англо-русский и русско-английский словарь > position following error

  • 19
    predicted following error

    Большой англо-русский и русско-английский словарь > predicted following error

  • 20
    servo following error

    Большой англо-русский и русско-английский словарь > servo following error

Страницы

  • Следующая →
  • 1
  • 2
  • 3
  • 4
  • 5

См. также в других словарях:

  • Error message — An error message is information displayed when an unexpected condition occurs, usually on a computer or other device. On modern operating systems with graphical user interfaces, error messages are often displayed using dialog boxes. Error… …   Wikipedia

  • Error — • Reduplicatively regarded, is in one way or another the product of ignorance. But besides the lack of information which it implies, it adds the positive element of a mental judgment, by which something false is held to be true, or something true …   Catholic encyclopedia

  • Error code — In computer programming, error codes are enumerated messages that correspond to faults in a specific software application. They are typically used to identify faulty hardware, software, or incorrect user input in programming languages that lack… …   Wikipedia

  • Error detection and correction — In mathematics, computer science, telecommunication, and information theory, error detection and correction has great practical importance in maintaining data (information) integrity across noisy channels and less than reliable storage… …   Wikipedia

  • Error function — Plot of the error function In mathematics, the error function (also called the Gauss error function) is a special function (non elementary) of sigmoid shape which occurs in probability, statistics and partial differential equations. It is defined …   Wikipedia

  • Error exponent — In information theory, the error exponent of a channel code or source code over the block length of the code is the logarithm of the error probability. For example, if the probability of error of a decoder drops as e – n α, where n is the block… …   Wikipedia

  • error — 01. My teacher always told me that [errors] are little gifts that help us to learn. 02. You should check your homework before handing it in so that you can find your own [errors]. 03. While rock climbing, you need to remain very focused so that… …   Grammatical examples in English

  • Error threshold (evolution) — The error threshold is a concept in the study of evolutionary biology and population genetics and is concerned with the origins of life, in particular of very early life, before the advent of DNA. The first self replicating molecules were… …   Wikipedia

  • Error-correcting codes with feedback — In mathematics, computer science, telecommunication, information theory, and searching theory, error correcting codes with feedback refers to error correcting codes designed to work in the presence of feedback from the receiver to the sender.See… …   Wikipedia

  • Error burst — In telecommunication, an error burst is a contiguous sequence of symbols, received over a data transmission channel, such that the first and last symbols are in error and there exists no contiguous subsequence of m correctly received symbols… …   Wikipedia

  • Error — *Canon law considered incorrect or false judgement to be error when such a judgement was not based upon ignorance. Such an error might be opinions or judgements made by Lollards or more specifically John Wyclif. Among the errors attributed to… …   Dictionary of Medieval Terms and Phrases

Need urgent help compile issue

Pages: 12

I got below errors while run the code. any ideawhat are these errors?
I use c++14.

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
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <vector>
#include <memory>
#include <numeric>

using std::cout;
using std::unique_ptr;
using namespace std;

class Shape
{
  public:
    string name;
    double width, height, radius;
  public:
    void set_data (double a, double b)
    {
        width = a;
        height = b;
    }
    virtual double getarea() const = 0;
};

class Rectangle: public Shape
{
public:
    double getarea ()
    {
        return (width * height);
    }
};

class Triangle: public Shape
{
public:
    double getarea ()
    {
        return (width * height)/2;
    }
};

class Circle : public Shape
{
  public:
    double getarea ()
    {
        return 3.1415 * (radius * radius);
    }
};

int main() {
    
    int rectHeight = 0, rectWidth = 0;
    int triaHeight = 0, triaWidth = 0;
    int circRadius = 0;

    std::cin >> rectHeight >> rectWidth >> triaHeight >> triaWidth >> circRadius;

    std::vector<std::unique_ptr<Shape>> shapes;
    shapes.emplace_back(std::make_unique<Rectangle>(rectHeight, rectWidth));
    shapes.emplace_back(std::make_unique<Triangle>(triaHeight, triaWidth));
    shapes.emplace_back(std::make_unique<Circle>(circRadius));
    
    const int totalArea = std::accumulate(shapes.begin(), shapes.end(), 0, [](int total, const auto& shape)
            { return total + shape->getarea(); });
    std::cout << totalArea << "n";

    return 0;
}

Below are the errors:

Compilation failed due to following error(s).In file included from /usr/include/c++/6/memory:81:0,
from main.cpp:3:
/usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& …) [with _Tp = Rectangle; _Args = {int&, int&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<Rectangle, std::default_delete<Rectangle> >]’:
<span class=»error_line» onclick=»ide.gotoLine(‘main.cpp’,60)»>main.cpp:60:74</span>: required from here
/usr/include/c++/6/bits/unique_ptr.h:795:30: error: invalid new-expression of abstract class type ‘Rectangle’
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)…)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:24:7: note: because the following virtual functions are pure within ‘Rectangle’:
class Rectangle: public Shape
^~~~~~~~~
main.cpp:21:20: note: virtual double Shape::getarea() const
virtual double getarea() const = 0;
^~~~~~~
In file included from /usr/include/c++/6/memory:81:0,
from main.cpp:3:
/usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& …) [with _Tp = Triangle; _Args = {int&, int&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<Triangle, std::default_delete<Triangle> >]’:
<span class=»error_line» onclick=»ide.gotoLine(‘main.cpp’,61)»>main.cpp:61:73</span>: required from here
/usr/include/c++/6/bits/unique_ptr.h:795:30: error: invalid new-expression of abstract class type ‘Triangle’
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)…)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:33:7: note: because the following virtual functions are pure within ‘Triangle’:
class Triangle: public Shape
^~~~~~~~
main.cpp:21:20: note: virtual double Shape::getarea() const
virtual double getarea() const = 0;
^~~~~~~
In file included from /usr/include/c++/6/memory:81:0,
from main.cpp:3:
/usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& …) [with _Tp = Circle; _Args = {int&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<Circle, std::default_delete<Circle> >]’:
<span class=»error_line» onclick=»ide.gotoLine(‘main.cpp’,62)»>main.cpp:62:60</span>: required from here
/usr/include/c++/6/bits/unique_ptr.h:795:30: error: invalid new-expression of abstract class type ‘Circle’
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)…)); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:42:7: note: because the following virtual functions are pure within ‘Circle’:
class Circle : public Shape
^~~~~~
main.cpp:21:20: note: virtual double Shape::getarea() const
virtual double getarea() const = 0;
^~~~~~~

Last edited on

Note you should be getting several warnings that give you valuable hints as to what is wrong, never ignore warnings.

The first thing I would recommend is that you comment out the code in main after your «cin» statement and just create one instance of one of your classes. For example «Rectangle test(rectHeight, rectWidth);» , get that one line to compile correctly before you try to complicate things with the vector and the unique_ptr.

With just that one instance here are the messages I get:

||=== Build: Debug in c++homework (compiler: GNU GCC Compiler) ===|
/main.cpp|10|warning: ‘class Shape’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|24|warning: base class ‘class Shape’ has accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|24|warning: ‘class Rectangle’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|33|warning: base class ‘class Shape’ has accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|33|warning: ‘class Triangle’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|42|warning: base class ‘class Shape’ has accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp|42|warning: ‘class Circle’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]|
/main.cpp||In function ‘int main()’:|
/main.cpp|58|error: no matching function for call to ‘Rectangle::Rectangle(int&, int&)’|
/main.cpp|24|note: candidate: ‘Rectangle::Rectangle()’|
/main.cpp|24|note: candidate expects 0 arguments, 2 provided|
/main.cpp|24|note: candidate: ‘Rectangle::Rectangle(const Rectangle&)’|
/main.cpp|24|note: candidate expects 1 argument, 2 provided|
/main.cpp|24|note: candidate: ‘Rectangle::Rectangle(Rectangle&&)’|
/main.cpp|24|note: candidate expects 1 argument, 2 provided|
/main.cpp|58|error: cannot declare variable ‘test’ to be of abstract type ‘Rectangle’|
/main.cpp|24|note: because the following virtual functions are pure within ‘Rectangle’:|
/main.cpp|21|note: ‘virtual double Shape::getarea() const’|
||=== Build failed: 2 error(s), 7 warning(s) (0 minute(s), 1 second(s)) ===|

Fixing those warnings is very important. You also seem to need several constructor and destructors.

If I comment below lines, I can see the below error. Can you provide some inputs here?

//std::vector<std::unique_ptr<Shape>> shapes;
//shapes.emplace_back(std::make_unique<Rectangle>(rectHeight, rectWidth));
//shapes.emplace_back(std::make_unique<Triangle>(triaHeight, triaWidth));
//shapes.emplace_back(std::make_unique<Circle>(circRadius));

Below is the error.

main.cpp: In function ‘int main()’:
main.cpp:66:43: error: ‘shapes’ was not declared in this scope
const int totalArea = std::accumulate(shapes.begin(), shapes.end(), 0, [](int total, const auto& shape)

Minor: Lines 6-7 are unnecessary if you’re going to bring in the entire std namespace at line 8. Suggestion: Change line 8 to using std::string;

Line 21 is a pure virtual function making Shape an abstract class. The compiler is telling you you can’t instantiate a Rectangle because Shape is an abstract class. This is because there is no overload in Rectangle because there is no overload for line 21. Note that line 27 does not overload line 21 because of a difference in constness of the two functions.

Line 36: Ditto

Line 45: Ditto

Line 60: You’re trying to construct a Rectangle with 2 arguments. Rectangle has no such constructor.

Line 61: Ditto

Line 62: Ditto

Line 68: totalArea is an int. getArea() return a double.

I have made the below changes, please check the code. I am not sure why again those errors are seen here? please help me.

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <vector>
#include <memory>
#include <numeric>

using std::string;
constexpr double pi {3.1415926535897932384626643383279502884};

struct Pos
{
    int m_x;
    int m_y;
    Pos(const int x, const int y):m_x{x}, m_y{y} {}
};

class Point {
    private: int m_x;
             int m_y;
    public: Point(const Pos& posi): m_x{posi.m_x}, m_y{posi.m_y}{}
    Point() = default;
    int get_x_coord() const {return m_x;}
    int get_y_coord() const {return m_y;}
};

class Shape
{
  protected:
  double width, height;
  Point m_posit;
  Shape(const Point& posi): m_posit{posi} {}

  public:
    void set_data (double a, double b)
    {
        width = a;
        height = b;
    }
    virtual ~Shape() = default;
    virtual double getarea() const = 0;
};


class Rectangle: public Shape
{
private:
double m_width;
double m_height;

public:
    Rectangle(const Point& posi, const double width = 1.0, const double height = 1.0);
    double getarea() const override {return m_width * m_height;}
};

class Triangle: public Shape
{
public:
    double getarea ()
    {
        return (width * height)/2;
    }
};

class Circle : public Shape
{
  protected: 
    double m_radius;
    
  public:
    Circle(const Point& center, const double radius): Shape{center}, m_radius{radius} {}
    double getarea() const override {return pi* m_radius *m_radius;}
};


std::vector<Point> get_points();
std::vector<std::unique_ptr<Shape> get_shapes(const std::vector<Point>& points);

int main() {
    
    std::vector<Point> points{ get_points() };
    std::vector<std::unique_ptr<Shape> shapes {get_shapes(points)};
    int rectHeight = 0, rectWidth = 0;
    int triaHeight = 0, triaWidth = 0;
    int circRadius = 0;

    std::cin >> rectHeight >> rectWidth >> triaHeight >> triaWidth >> circRadius;
}

 std::vector<Point> get_points()
    {
        std::vector<Point> points
        {
            Point{Pos{0,0}}, Point{Pos{-100,-100}}, Point{Pos{300,300}}
        };
        return points;
    }
    
    std::vector<std::unique_ptr<Shape>> get_shapes(const std::vector<Point>& points)
    {
       std::vector<std::unique_ptr<Shape>> shapes 
       {
           std::make_unique<Rectangle>(rectHeight, rectWidth);
           std::make_unique<Triangle>(triaHeight, triaWidth);
           std::make_unique<Circle>(circRadius);
       };
       return shapes;
    }
    
    const int totalArea = std::accumulate(shapes.begin(), shapes.end(), 0, [](int total, const auto& shape)
            { return total + shape->getarea(); });
    std::cout << totalArea << "n";

    return 0;
}

Last edited on

Perhaps:

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
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <vector>
#include <memory>
#include <numeric>
//#include <string>

class Shape {
protected:
	//std::string name;
	double width {}, height {}, radius {};

public:
	Shape(double w, double h) : width(w), height(h) {}
	Shape(double r) : radius(r) {}
	virtual ~Shape() {}

	void set_data(double a, double b) {
		width = a;
		height = b;
	}

	virtual double getarea() const = 0;
};

class Rectangle : public Shape {
public:
	Rectangle(double w, double h) : Shape(w, h) {}

	double getarea() const override { return width * height; }
};

class Triangle : public Shape {
public:
	Triangle(double w, double h) : Shape(w, h) {}

	double getarea() const override { return (width * height) / 2; }
};

class Circle : public Shape {
public:
	Circle(double r) : Shape(r) {}

	double getarea() const override { return 3.1415 * (radius * radius); }
};

int main()
{
	double rectHeight {}, rectWidth {};
	double triaHeight {}, triaWidth {};
	double circRadius {};

	std::cout << "Enter rect height, rect width, tri height, tri width, circ rad: ";

	std::cin >> rectHeight >> rectWidth >> triaHeight >> triaWidth >> circRadius;

	std::vector<std::unique_ptr<Shape>> shapes;

	shapes.emplace_back(std::make_unique<Rectangle>(rectHeight, rectWidth));
	shapes.emplace_back(std::make_unique<Triangle>(triaHeight, triaWidth));
	shapes.emplace_back(std::make_unique<Circle>(circRadius));

	const auto totalArea {std::accumulate(shapes.begin(), shapes.end(), 0.0, [](auto total, const auto& shape)
			{ return total + shape->getarea(); })};

	std::cout << totalArea << 'n';
}

Last edited on

Below are compiler errors seen:

main.cpp: In function ‘int main()’:
main.cpp:85:43: error: ‘get_points’ was not declared in this scope
std::vector<Point> points{ get_points() };
^
main.cpp:85:45: error: no matching function for call to ‘std::vector::vector()’
std::vector<Point> points{ get_points() };
^
In file included from /usr/include/c++/6/vector:64:0,
from main.cpp:10:
/usr/include/c++/6/bits/stl_vector.h:403:9: note: candidate: template std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&)
vector(_InputIterator __first, _InputIterator __last,
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:403:9: note: template argument deduction/substitution failed:
/usr/include/c++/6/bits/stl_vector.h:375:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = Point; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator]
vector(initializer_list<value_type> __l,
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:375:7: note: conversion of argument 1 would be ill-formed:
/usr/include/c++/6/bits/stl_vector.h:350:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = Point; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator]
vector(vector&& __rv, const allocator_type& __m)
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:350:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/6/bits/stl_vector.h:341:7: note: candidate: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = Point; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator]
vector(const vector& __x, const allocator_type& __a)
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:341:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/6/bits/stl_vector.h:337:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = Point; _Alloc = std::allocator]
vector(vector&& __x) noexcept
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:337:7: note: conversion of argument 1 would be ill-formed:
/usr/include/c++/6/bits/stl_vector.h:320:7: note: candidate: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = Point; _Alloc = std::allocator]
vector(const vector& __x)
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:320:7: note: conversion of argument 1 would be ill-formed:
/usr/include/c++/6/bits/stl_vector.h:291:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = Point; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::value_type = Point; std::vector<_Tp, _Alloc>::allocator_type = std::allocator]
vector(size_type __n, const value_type& __value,
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:291:7: note: candidate expects 3 arguments, 1 provided
/usr/include/c++/6/bits/stl_vector.h:279:7: note: candidate: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = Point; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::size_type = long unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator]
vector(size_type __n, const allocator_type& __a = allocator_type())
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:279:7: note: conversion of argument 1 would be ill-formed:
/usr/include/c++/6/bits/stl_vector.h:266:7: note: candidate: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = Point; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::allocator_type = std::allocator]
vector(const allocator_type& __a) _GLIBCXX_NOEXCEPT
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:266:7: note: conversion of argument 1 would be ill-formed:
/usr/include/c++/6/bits/stl_vector.h:255:7: note: candidate: std::vector<_Tp, _Alloc>::vector() [with _Tp = Point; _Alloc = std::allocator]
vector()
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:255:7: note: candidate expects 0 arguments, 1 provided
main.cpp:86:40: error: template argument 1 is invalid
std::vector<std::unique_ptr<Shape> shapes {get_shapes(points)};
^~~~~~
main.cpp:86:40: error: template argument 2 is invalid
main.cpp:86:65: error: ‘get_shapes’ was not declared in this scope
std::vector<std::unique_ptr<Shape> shapes {get_shapes(points)};
^
main.cpp:93:5: error: a function-definition is not allowed here before ‘{’ token
{
^
main.cpp:117:1: error: expected ‘}’ at end of input
}

See my previous post.

Hi seeplus

Your code compiles fine with no errors.
But while I try to provide input as below,
Input
4 3 5 2 5

Enter rect height, rect width, tri height, tri width, circ rad: 95.5375

Here for example, for values 4 and 3, area of rect must be 12 (since h = 4, w = 3 as per input given by user). Similarly for tri area must be 5 ( for h =5, w = 2). Also for circ area must be 79 (for rad = 5 here as input). So total area of shapes is 96, but as per compiler output I get 95.5375 only.

My code above works in double as per your original code — not int.

Is there any way to get 96 as total area instead if 95.5375? can i use round of function?

Last edited on

Do you mean to add this line?
std::cout << std::fixed
<< «ceil(totalArea) = » << std::ceil(totalArea) << ‘n’;

But I get compiler output as below. Here it gives 95.000000. For example, if it gives 95.5375, then I need to round of to nearest int, which is 96, instead of 95. i want to round a double to nearest int .How can i do this?
Enter rect height, rect width, tri height, tri width, circ rad: 4 3 5 2 5
ceil(totalArea) = 95.000000

Last edited on

std::ceil should print out 96.000000. So did it in my testrun of seeplus’ code example.
if you want to round down, use floor
if you want to round up, use ceil
if you want to round to the nearest int, use round.

Ok, so for 95.5375, to truncate and get 96, should I use ceil? I am still not clear what you said here. if you tried with any sample code, feel free to share here.

Last edited on

Denver2020,

WHY do you want to round an area to the nearest integer? If you had a circle of radius 0.1 how big do you think that area would be?

If you are still hell-bent on doing it then JustShinigami has told you exactly which choices of function you need: is it so difficult to call those functions?

If it is purely for «pretty» output then simply set the precision to whatever you want when outputting.

The reason is im trying to run test and it fails, because not being integer value. As you can see the test expects output to be 96, but compiler output it as 95.5375. Please help me on this.

Input (stdin)

4 3 5 2 5
Your Output (stdout)
Enter rect height, rect width, tria height, tria width, circ rad: 95.5375

Expected Output
96

Last edited on

Take your pick.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

int main()
{
   double x = 95.5375;
   cout << x << 'n';
   cout << round( x ) << 'n';
   cout << ceil( x ) << 'n';
   cout << (int)( x + 0.5 ) << 'n';
   cout << fixed << setprecision( 0 ) << x << 'n';
}

Thanks for the quick tips.
After modifying the code, I got the below output, but test still fails.

Here in the code, created shape interface which has abstract function getarea() must have integer return value. But in the actual code its double. The integer values needed to calculate area for each of these shapes will be provided to constructor of each shape and then need to round result to nearest integer value before returning it. could this be the reason for test failure?

Input (stdin)

4 3 5 2 5
Your Output (stdout)
Enter rect height, rect width, tria height, tria width, circ rad: 96

Expected Output
96

Well if the expected output is

and your code produces

and the test says

then I should ask for your money back!

Pages: 12

Понравилась статья? Поделить с друзьями:
  • Compilation error rtc was not declared in this scope
  • Compilation error redefinition of void setup
  • Compilation error python
  • Compilation error pinmode was not declared in this scope
  • Compilation error maven