void func(int* param){};
func(&123); //error: '&' on constant
funct(&int(123)) //error
ответ
Это не то, как работают указатели.
Вы должны сначала выделить память для 123, как это:
int x = 123;
func(&x);
Он спросил, как создать указатель на стек, а не на кучу. Во втором примере также отсутствует 'free (x);' –
Вы не можете взять адрес временный. Адрес-оператора (&
) в качестве аргумента требует lvalue
.
void func(int* param){};
int main(){
int k = 123;
func(&k); //fine now
}
'123' не является временным, это буквальный. – fredoverflow
'int (123)' временно, 123 не –
Ключевое слово &
должны и должны применяться только к реальным переменным, а не операндами.
Объявите переменную INT, а затем указать на него:
int main() {
int x = 123;
func(&x);
}
Если вы хотите объявить указатель в стек, а затем объявить переменную INT-указатель:
int* p = &x;
func(p);
void func(int* param)
{
std::cout << * param << std::endl;
}
int main(int argc, char** argv)
{
int a = 123;
func(&a);
return 0;
}
Проблема в том, что вы пытаетесь получить адрес rvalue. Сделать это lvalue:
n = 123;
func(&n);
- 1. указатель инициализируется указатель на стек
- 2. указатель на стек против приложения
- 3. Как написать функцию, возвращающую указатель на стек
- 4. C указатель на стек вызывает предупреждения
- 5. Почему удалить указатель на стек - ошибка?
- 6. Как определить, указывает ли указатель на стек или на кучу?
- 7. Как создать стек, как вид в андроиде
- 8. как выделить указатель на указатель на стек и как на куче?
- 9. Как создать монодичный стек?
- 10. Как создать пустой стек?
- 11. Как создать указатель на UITableView?
- 12. Как создать указатель на указатели
- 13. Push-указатель элемента в стек
- 14. как отследить этот стек и указатель
- 15. Как создать глобальный стек навигации?
- 16. Как создать «стек карточек» UICollectionView?
- 17. Как создать стек NSOperationQueue AsynchronousRequests
- 18. Как создать стек, содержащий структуры?
- 19. Создать стек различных типов
- 20. Указатель на указатель на указатель
- 21. C массивы, выделяющие в стек дополнительный указатель
- 22. Создать новый указатель на класс
- 23. Как изменить указатель на указатель на указатель?
- 24. Qt: Создать стек image
- 25. Как создать указатель на объект в C#?
- 26. Как создать собственный указатель на нестандартный тип?
- 27. Как создать указатель на массив объектов указателей
- 28. C++ Как создать указатель на метод класса
- 29. Как создать указатель на функцию-член шаблона?
- 30. Как создать указатель на класс шаблона, C++
'int (123)' все еще не выделяет память, вы можете взять адрес. Это буквальный, приписываемый 'int'. –