Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 23.08.2016
Сообщений: 7
1

Ошибки при компиляции

25.09.2016, 00:28. Показов 2807. Ответов 2

Author24 — интернет-сервис помощи студентам
Функция принимает текстовую функцию и значение переменной и решает ее.
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
long double func(string Str, char var, long double X)
{
    unsigned int L = Str.length;
    if ((Str[0] == '(') && (Str[L - 1] == ')'))
    {
        Str = Str.substr(1, L - 2);
    }
    L = Str.length;
    int min = MAX_INT, k = 0, k1 = 0, B = 0, Ind = 0;
    char C;
    for (int i = 0; i < L; i++)
    {
        switch (Str[i])
        {
        case '+': {B = 1 + k; break; k1++;}
        case '-': {B = 1 + k; break; k1++;}
        case '*': {B = 2 + k; break; k1++;}
        case '/': {B = 2 + k; break; k1++;}
        case '^': {B = 3 + k; break; k1++;}
        case '(': {k += 3; break;}
        case ')': {k -= 3; break;}
        default: {B = MAX_INT;}
        }
        if (B <= min)
        {
            min = B;
            Ind = i;
        }
    }
    if (k != 0)
        return NULL;
    if (k1 == 0)
    {
        if (Str[0] == var)
            return X;
        return atof(Str.c_str);
    };
    string Str1 = Str.substr(0, Ind - 1), Str2 = Str.substr(Ind + 1, L - 1);
    long double Long1 = func(Str1, var, X), Long2 = func(Str2, var, X), Long = 0;
    switch (Str[Ind])
    {
    case '+': {Long = Long1 + Long2; break;}
    case '-': {Long = Long1 - Long2; break;}
    case '*': {Long = Long1 * Long2; break;}
    case '/': {Long = Long1 / Long2; break;}
    case '^': {Long = powl(Long1, Long2); break;}
    }
    return Long;
}
C++
1
2
3
4
5
6
7
8
9
#include "Header.h"
 
int main()
{
    string str = "x^2";
    cout << func(str, 'x', 1);
    system("pause");
    return 0;
}
Но при выполнении возникают такие ошибки.
C++
1
2
3
4
Ошибка    C3867   "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::c_str": нестандартный синтаксис; используйте "&", чтобы создать указатель на член Проект5   c:\users\денис\documents\visual studio 2015\projects\проект5\проект5\header.h  42
Ошибка    C3867   "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length": нестандартный синтаксис; используйте "&", чтобы создать указатель на член    Проект5   c:\users\денис\documents\visual studio 2015\projects\проект5\проект5\header.h  9
Ошибка    C3867   "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length": нестандартный синтаксис; используйте "&", чтобы создать указатель на член    Проект5   c:\users\денис\documents\visual studio 2015\projects\проект5\проект5\header.h  14
Ошибка    C2440   =: невозможно преобразовать "unsigned int (__thiscall std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) noexcept const" в "unsigned int"   Проект5   c:\users\денис\documents\visual studio 2015\projects\проект5\проект5\header.h  14
Если поставить & где он просит выдает 3 таких ошибки.
C++
1
Ошибка    C2276   &: недопустимая операция с выражением привязанной функции-члена   Проект5   c:\users\денис\documents\visual studio 2015\projects\проект5\проект5\header.h
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2016, 00:28
Ответы с готовыми решениями:

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class mob { public: void...

Ошибка памяти при выполнении, при компиляции не выводит ошибки
ПОмогите плс программа вводит строку символов до точки, а после вычисляет процент согласных в этой...

Ошибки при компиляции
я учусь по книге &quot;С++ для чайников Стефан Р. Девис 4-е издание&quot; и работаю в Dev C++ вот программа:...

Ошибки при компиляции
Ошибки: строки 25, 25, 27, 32. Условие задачи: Дан текст, состоящий из предложений, разделяемых...

2
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
25.09.2016, 00:44 2
Вы забыли скобочки при вызове length

Добавлено через 30 секунд
и c_str

Добавлено через 2 минуты
а ещё чтоб файл не инклудился несколько раз в .h файлах нужно писать костыль в виде
C++
1
2
3
4
#ifndef FILE_H
#define FILE_H
/* код */
#endif FILE_H
где FILE_H любой идентификатор, обычно совпадающий с именем файла.
1
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
25.09.2016, 12:22 3
Цитата Сообщение от DevAlone Посмотреть сообщение
нужно писать костыль
Это не костыль. Это общепринятая практика.
1
25.09.2016, 12:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2016, 12:22
Помогаю со студенческими работами здесь

Ошибки при компиляции
Error 8 error LNK2001: unresolved external symbol &quot;public: virtual void __thiscall...

Ошибки при компиляции
Добрый вечер. начинаю постигать С++ Пытаюсь создать описать стек (вложение ДЗ1). Использую...

Ошибки при компиляции
Если кто желает помочь и разомнуть свои навыки то прошу скомпилировать c++, я сам не смог, много...

Ошибки при компиляции
Помогите пожалуйста, исправьте код, не пойму почему ругается на глобальные объекты... #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru