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

разобраться с ошибкой с3867 (msvs 2012) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ проконсультируйте пожалуйста меня с программой: http://www.cyberforum.ru/cpp-beginners/thread1032222.html
у меня эта программа всё, вроде правильно, считает . Но: работает только тогда, когда ввожу икс: положительное и дробное. С отрицательными не хочет. Подскажите, в чем может быть проблема?? Сама суть программы такова:http://www.cyberforum.ru/attachment.php?attachmentid=338527&stc=1&d=1386427879 (вот здесь текст задачи, в ссылке). Код Программы следущий: #include "stdafx.h" #include...
C++ Алгоритмы поиска. "Блудный сын" Прошу помощи тех, кто может помочь) Имеется клеточное поле размером N*M. Из каждой клетки можно перемещаться в одну из соседних, если она есть (вверх, вправо, вниз, влево). Коммивояжер стартует из какой-то клетки. Может ли он обойти все клетки и вернуться в исходную? Написать программу, которая даёт ответ на этот вопрос. Помогите пожалуйста! Может, кто-то разбирается в таких задачах Буду... http://www.cyberforum.ru/cpp-beginners/thread1032219.html
Сумма элементов строки, где расположен элем. с наименьшим значением C++
Помогите написать код к задачи. Дан двумерный динамический массив действительных чисел. Определить сумму элементов строки, в которой расположен элемент с наименьшим значением. Добавлено через 1 час 16 минут Помогите пожалуйста!
C++ Парсер PDF файлов
Кто нибудь делал подобное? Может есть исходники? Готовые решения?
C++ Большое время работы http://www.cyberforum.ru/cpp-beginners/thread1032211.html
Добрый вечер, форумчане! Возникла проблема : у программы чтения файла очень большой runtime(пишу на codeblocks). Что с этим делать? #include <fstream> #include <iostream> #include <string>
C++ Иерархия классов Пацаны срочно нужна ваша помощь!! Надо создать простую программу в с++ на тему БИБЛИОТЕКА, чтобы там обрабатывались ниже приведённые действия имя – char* автор – char* стоимость – float подробнее

Показать сообщение отдельно
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
07.12.2013, 23:28     разобраться с ошибкой с3867 (msvs 2012)
тип "указатель на метод" отличается от типа "указатель на свободную функцию"
и работают с ними не так, как с указателями на функции.
есть еще std::function и в них можно завернуть как указатель на свободную функцию,
так и указатель на метод определенного объекта

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "stdafx.h"
 
#include <functional>
#include <iostream>
#include <string>
 
struct Test
{
  std::string name;
 
  Test(const std::string& testName)
    : name(testName)
  {
  }
 
  void Foo1()
  {
    std::cout << name << "::Foo1" << std::endl;
  }
 
  void Foo2()
  {
    std::cout << name << "::Foo2" << std::endl;
  }
};
 
void MyFunction()
{
  std::cout << "This is my function" << std::endl;
}
 
 
int main()
{
  void (Test::*memFunPtr)() = &Test::Foo1; // можно так, но лучше затайпдефить
 
  typedef void (Test::* MemFunPtr)();
 
  MemFunPtr ptr1 = &Test::Foo1;
  MemFunPtr ptr2 = &Test::Foo2;
  // тут для получения указателя на метод не нужен сам объект.
  // он понадобится, когда нужно будет вызвать метод.
  // И имея один и тот же указтель на метод, можно
  // этот метод позвать у разных объектов:
 
  Test test1("Test1");
  Test test2("Test2");
 
  (test1.*ptr1)();
  (test1.*ptr2)();
 
  (test2.*ptr1)();
  (test2.*ptr2)();
 
 
  typedef std::function<void ()> Func;
 
  Func func;
 
  func = &MyFunction;
  func();
 
  func = std::bind(&Test::Foo1, &test1);
  func();
 
  func = [&test2] { test2.Foo2(); };
  func();
 
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru