Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
#1

Объяснение моментов - C++

28.10.2010, 12:49. Просмотров 393. Ответов 0
Метки нет (Все метки)

1. Microsoft Visual Studio 2010, в ниже приведённом коде появляется ошибка следующего вида:
error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class matr
{
public:
 matr(void);
 virtual ~matr(void);
private:
 int iCol;
 int iRow;
 Cell** ce_arr;
 
public:
 
 void get_col(char* str);
};
2. Второй вопрос:
Объясните, пожалуйста, что за неявное преобразование происходит (char[] в String?). Если char[] преобразовывается в String, то создаётся объект const, но у нас он объявлен следующим образом,
подобно
C++
1
POINT& POINT::operator=(POINT& rhs) {}
, где const не указан.
Пожалуйста, объясните последовательно, что будет происходить, почему будет ошибка?
C++
1
2
String S;
S=“This is S”; //что аналогично такому S.operator=(“This is S”)
Аргумент справа имеет тип char[], а вовсе не String. В таком случае неявного преобразования типов компилятор создаст временный объект типа String (с помощью его конструктора) для передачи в качестве аргумента. Но компилятор всегда создает временные объекты как const, поскольку это предотвращает случайную передачу временного объекта в функцию, которая модифицирует аргументы. Такой вариант просто не должен компилироваться, так как произойдет попытка передать объект с const в функцию operator=, у которой соответствующий аргумент был объявлен без const.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 12:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объяснение моментов (C++):

Не понятно пару моментов - C++
В целом программа поняла, но нужно кое-что уточнить! Зачем мы str присвоили strtok(b, " "); ? зачем в islower(str) стоит str ? И...

Разъясните пару моментов по теории - C++
1)Какими соображениями руководствуется разработчик, выбирая как ему прилинковывать написанные им же библиотеки: статически или динамически?...

Какой из моментов времени был в эти сутки раньше - C++
Здравствуйте! Подскажите пожалуйста, что значит библиотека stdlib.h и ctime, и строчка 21-23?? задача такая:"Известна информация о 24-х...

Поясните, пожалуйста, несколько моментов про выделение памяти - C++
Ребят объясните: int* a; a = new a(1); в первой строке указатель ссылается на какуюто память, те она уже выделена и занять ее ни кто...

Объяснение кода - C++
завтра сдавать курсач. есть исходник, но проблема в том что я не понимаю код(пары часто прогуливал, простите). прошу, хоть кто-нибудь,...

Объяснение программы - C++
Доброго дня! Нашёл вот такую игру с демонстрацией ИИ. Морской бой с интерфейсом на C++. Всё работает, но я не могу понять почти...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2010, 12:49
Привет! Вот еще темы с ответами:

Объяснение программы - C++
В програмировании я практически нечего не понимаю... Но курсовую писать нужно, я нашол программу в Инете ,но объяснить её не могу, помогите...

Объяснение указателя - C++
Объясните что означает double* b: void function(int a,double* b) И: double* b= new double Я так понял указатель выделяет...

Объяснение строки кода - C++
#include<iostream> using namespace std; int main() { int x;//Определенный тип данных, который необходимо ввести while( !...

Нужно объяснение - union - C++
Что обозначает така вот запись: unsigned a0 : 1; //каждый бит получает название unsigned a1 : 1; unsigned a2 : 1; ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.