Функция, массив и указатели - PullRequest
0 голосов
/ 02 марта 2012

У меня есть ситуация, когда функция может принимать только «int» (не может изменить это), и мне это нужно в другой ситуации. позвольте мне прямо написать код

bool foo(int dev) 
{
         ...
         ...
      return true/false;
}

Мне нужно пройти:

  1. mClassPointer->dev()
  2. mClassPointer[index]->dev()
  3. dev() //(function)
  4. и, очевидно, dev //(variable)

mClassPointer - указатель на класс. dev() является функцией-членом класса, возвращает целое число.

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Если у вас есть функция, которая должна обрабатывать разные типы данных в разных ситуациях (как это неопределенно подразумевается в вашем вопросе), то, возможно, вам нужно изучить шаблоны.

1 голос
/ 02 марта 2012

Вы можете сделать это, изменив аргумент на void *.

Будьте очень осторожны с этим и внимательно читайте эту ветку, espc.сообщение Локи Астари:

ошибка: приведение от 'void *' к 'int' теряет точность

Если функция принимает только int, то язнать, возможно ли этоПрочитайте обсуждение в этой теме, если вы думаете о приведении ваших указателей к int и pass.Может не работать на определенных платформах: Преобразование указателя в целое число

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...