1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Сложности С Присваиванием

Тема в разделе "С и С++", создана пользователем zigler, 10 фев 2012.

  1. zigler

    zigler Гость

    Репутация:
    0
    Доброго времени суток!

    Подскажите, как решить проблему с присваиванием значения std::string в int.


    Код:
    // testsss.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <iostream>
    #include <ctime>
    #include <string>
    #include <fstream>
    #include <iostream>
    
    using namespace std;
    
    std::string ***LNodeType_DO_attr;
    
    class CDA_Quality {
    public:
    std::string validity;
    std::string overflow;
    int timeout;
    CDA_Quality();
    };
    CDA_Quality::CDA_Quality(){}
    
    class CDC_INC {
    public:
    CDA_Quality q;
    CDC_INC();
    };
    CDC_INC::CDC_INC(){}
    
    class LN_ZBAT {
    public:
    CDC_INC EEHealth; //External equipment health
    LN_ZBAT();
    };
    LN_ZBAT::LN_ZBAT(){}
    
    
    int main(int argc, char* argv[])
    {
    int h,k,p;
    LNodeType_DO_attr = new std::string **[5];
    for(h=0;h<5;h++)
    {
    LNodeType_DO_attr[h] = new std::string *[5];
    for(k=0;k<5;k++)
    {
    LNodeType_DO_attr[h][k] = new std::string [5];
    for(p=0;p<5;p++)
    LNodeType_DO_attr[h][k][p]="";//test
    }
    }
    
    LN_ZBAT battery1;
    LNodeType_DO_attr[1][3][2] = "kkkkk";
    std::string ppp;ppp = "dddd";
    
    battery1.EEHealth.q.validity = ppp;
    battery1.EEHealth.q.overflow = LNodeType_DO_attr[1][3][2];
    battery1.EEHealth.q.timeout = (int)LNodeType_DO_attr[1][3][2];
    
    cout << battery1.EEHealth.q.validity << endl;
    cout << battery1.EEHealth.q.overflow << endl;
    cout << battery1.EEHealth.q.timeout << endl;
    return 0;
    }

    Выдает ошибку

    Compiling...
    testsss.cpp
    E:\files=study\kurs V\Deutschland\Forschungsprojekt\cpptest\testsss\testsss.cpp(60) : error C2440: 'type cast' : cannot convert from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'int'
    No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    Error executing cl.exe.

    testsss.exe - 1 error(s), 0 warning(s)
     
  2. qqwertty

    qqwertty Гость

    Репутация:
    0
    Если еще актаульно... Нельзя прямо кастовать из std::string в int. Используйте любую удобную для вас функцию перевода char* to int. Либо прям из std::string есть парочка.

    уже ответили, зачем темы то одинаковые плодить.....
     
Загрузка...
Похожие Темы - Сложности Присваиванием
  1. bestguru
    Ответов:
    1
    Просмотров:
    710
  2. lemuriez
    Ответов:
    4
    Просмотров:
    1.641
  3. phantom76
    Ответов:
    11
    Просмотров:
    3.770

Поделиться этой страницей