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

Использование ссылочного параметра r-значения

22.10.2014, 07:55. Показов 2012. Ответов 28
Метки нет (Все метки)

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
// Использование ссылочного параметра r-значения.
 
#include<iostream>
 
using std::cout;
using std::endl;
 
int incr10(int&& num);
 
int main(void)
{
    int num(3);
    int value(6);
    int result(0);
 
    /*
        result = incr10(num);
        cout << endl << "incr10(num) = " << result << endl
             << "num = " << num;
 
        result = incr10(value);
        cout << endl << "incr10(value) = " << result << endl
             << "value = " << value;
    */
 
        result = incr10( value + num );
        cout << endl << "incr10(value+num) = " << result << endl
             << "value = " << value;
 
        result = incr10(5);
        cout << endl << "incr10(5) = " << result << endl
             << "5 = " << 5;
        cout << endl;
 
    return 0;
}
 
int incr10(int&& num)
{
    cout << endl << "Poluchennoe znachenie = " << num;
    
    num += 10;
 
    return num;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2014, 07:55
Ответы с готовыми решениями:

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

Использование указателя при передаче параметра
Добрый вечер! Надо оформить функцию &quot;LoadTexture&quot;. Вот задачка: IDirect3DTexture9 *tex;...

Использование массива, как параметра функции
Нашёл данную статью https://www.cyberforum.ru/cpp-beginners/thread1634378.html и заинтересовался,...

Использование параметра экземпляра класса из другого cpp
Как использовать параметр экземпляра класса из другого cpp. Вот у меня есть Класс файл...

28
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
22.10.2014, 16:43 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от MrGluck Посмотреть сообщение
10 студия поддерживает мув семантику (как и регулярки, auto, лямбды)
О чем я и говорю. Поэтому строить предположения о том, что среды, появившиеся до 2011 года не поддерживают какие-то особенности C++11, нельзя.

Не по теме:

P.S. зато = delete методы не поддерживаются.

0
MrGluck
22.10.2014, 16:58
  #22

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
P.S. зато = delete методы не поддерживаются.
В 13 есть. Но больше всего не хватало в 10-ке for-loop и initializer_list

0
48 / 48 / 11
Регистрация: 25.11.2011
Сообщений: 275
22.10.2014, 18:50  [ТС] 23
Айвор Хортон - Visual C++ 2010. Полный курс. Пример 5_09 стр 291, ссылочные параметры r-значения.
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
22.10.2014, 19:10 24
Ну тут не надо забывать, что от того, что компилятор "не ругается" на некий синтаксис совсем не означает, что компилятор поддерживает соответствующее свойство языка в его окончательном виде. Любой компилятор, выпущенный до стандарта С++11 будет реализован в соответствии с имевшимся на тот момент черновиком этого стандарта, а также с воображением автора компилятора.

Классический пример

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
 
using namespace std;
 
void foo(string &&) { cout << "string &&" << endl; }
void foo(const string &) { cout << "const string &" << endl; }
 
int main() {
  foo("Hello World!");
}
Visual Studio 2010 в такой ситуации вызовет вторую версию функции ('const string &'), а вот язык С++11 требует, чтобы вызывалась именно первая. (По крайней мере таким было изначальное поведение 2010. Не знаю, исправили ли его в последующих апдейтах 2010.)
1
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.10.2014, 19:15 25
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
По крайней мере таким было изначальное поведение 2010. Не знаю, исправили ли его в последующий апдейтах.)
Не исправили.
А в 13 уже всё хорошо.

Добавлено через 1 минуту
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Ну тут не надо забывать, что от того, что компилятор "не ругается" некий синтаксис совсем не означает, что компилятор поддерживает соответствующее свойство языка в его современном виде.
Строго говоря, полагаться нельзя и после выхода стандарта. Например, текущие реализации mingw всё ещё не умеют нормально инициализировать std::random_device.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.10.2014, 19:35 26
Цитата Сообщение от ****ivs Посмотреть сообщение
кроме того все должно работать в консольном варианте Win 32, никакой ошибки с типом проекта не может быть.
Что значит: "не может быть"? Не может быть, когда код под тип проекта написан. Проект какой создаёте? Свойства проекта - Компоновщик - Система - Подсистема, что прописано?
1
48 / 48 / 11
Регистрация: 25.11.2011
Сообщений: 275
22.10.2014, 21:11  [ТС] 27
тип проекта обыкновенный Win32 Console Application, без всяких дополнительных параметров и аргументов комадной строки, кромет того у меня он не линкуется даже в Visual Studio 2013
0
Вездепух
Эксперт CЭксперт С++
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,057
22.10.2014, 21:16 28
Цитата Сообщение от ****ivs Посмотреть сообщение
тип проекта обыкновенный Win32 Console Application, без всяких дополнительных параметров и аргументов.
То сообщение об ошибке, которое вы нам процитировали (с упоминанием 'WinMain') однозначно говорит, что ваш проект настроен на оконное приложение, а не на консольное приложение. Тут никаких вариантов нет.

Поэтому могу лишь еще раз вам посоветовать пересоздать проект с нуля.
1
48 / 48 / 11
Регистрация: 25.11.2011
Сообщений: 275
22.10.2014, 21:38  [ТС] 29
Все норм заработало с я новый консольный проект создал, все заработало как надо, всем спасибо.
0
22.10.2014, 21:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2014, 21:38
Помогаю со студенческими работами здесь

Передача ссылочного параметра в поток
Есть класс и в нем объявлен метод, который принимает ссылочный параметр ref string, необходимо...

Ошибка компиляции при попытке передачи переменной ссылочного типа в качестве параметра
Вечер добрый, форумчане. Вопрос в виде комментария написан в коде: namespace TestConsole { ...

Использование ссылочного типа с ключевым словом lock
Вот код программы using System; using System.Threading; class A { bool flag = false; ...

Использование значения с типом "int" в качестве параметра по умолчанию недопустимо
Есть такой код public static string Substrings(string str, string left, string right, int...


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

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