Форум программистов, компьютерный форум CyberForum.ru

Error C2040 в пользовательском классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать отдельный управляемый поток для бесконечного процесса http://www.cyberforum.ru/cpp-beginners/thread1224665.html
Пишу простую визуализацию броуновского движения в С++ Builder-e рисуя кружочки на имейдже. Подскажите самый простой пример как запихнуть процесс движения в отдельный поток с реалзацией функции запуска/паузы движения из приложения. (сразу скажу что работу с потоками понимаю только на уровне идеи)
C++ Из множества целых чисел получить множество чисел, являющихся квадратами нечетных чисел Из множества целых чисел получить множество чисел, являющихся квадратами нечетных чисел. http://www.cyberforum.ru/cpp-beginners/thread1224659.html
C++ Поиск ссылки на литературный источник в тексте
Задание простое Поиск ссылки на литературный источник в тексте (числа, взятого в квадратные скобки, например, ). Вывести его на экран. Заранее спасибо. Добавлено через 1 час 52 минуты апп
Посчитать количество элементов двумерного массива, стоящих до максимального элемента C++
Задание простое Посчитать количество элементов двумерного массива, стоящих до максимального элемента этого массива. Заранее спасибо.
C++ Отсортировать массив А (10) по возрастанию не считая первый и последний элементы массива http://www.cyberforum.ru/cpp-beginners/thread1224628.html
Задание простое Отсортировать массив А (10) по возрастанию не считая первый и последний элементы массива. Заранее спасибо.
C++ Как сделать быстрый поиск по массиву разнотипных данных? Как сделать быстрый поиск по массиву и разнотипных данных? подробнее

Показать сообщение отдельно
satisfactor
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 51
08.07.2014, 21:25     Error C2040 в пользовательском классе
Функция main:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
int main( void ) {
    const char str[] = "message";
    String( str );
 
    std::cin.get(); std::cin.get();
    return 0;
}


Ошибка в строке:
C++
1
String( str );
Текст ошибки: "error C2040: str: "String" отличается по уровням косвенного обращения от "const char [8]"Э

Определение функции в классе:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
String::String( const char * str ) {
    debug( "String::String( const char * str )", false );
    length = strlen( str );
    if ( length == 0 ) {
        length = 0;
    } else {
        takeMemory( NULL, length );
        memcpy( data, str, length );
    }
    debug( "String::String( const char * str )", true );
}


И, если понадобятся, функции debug и takeMemory:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//service functions
//  service function takeMemory for reallocate memory for string and check data != 0
void String::takeMemory( char * ptrmem, int size ) {
    debug( "void String::takeMemory( char * ptrmem, int size )", false );
    assert( size >= 0 );
    data = ( char * ) realloc ( ptrmem, sizeof(char)*size );
    assert( data != 0 );
    debug( "void String::takeMemory( char * ptrmem, int size )", true );
}
// service function debug to show location
void String::debug( const char * message, bool exit ) const {
    if ( DEBUG ) {
        std::cout << std::endl;
        if ( exit ) std::cout << "Exiting \"";
        else std::cout << "Entry into \"";
        std::cout << message <<"\".";
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru