void func(int* param){};
func(&123); //error: '&' on constant
funct(&int(123)) //error
Respuesta
Así no funcionan los punteros.
Debe asignar memoria para su primer 123, así:
int x = 123;
func(&x);
Preguntó cómo crear un puntero en la pila, no en el montón. El segundo ejemplo también carece de 'libre (x);' –
No se puede tomar la dirección de un temporal. La dirección del operador (&
) requiere un lvalue
como argumento.
void func(int* param){};
int main(){
int k = 123;
func(&k); //fine now
}
'123' no es temporal, es un literal. – fredoverflow
'int (123)' es un temporal, 123 no es –
La palabra clave &
obligada y sólo se debe aplicar a las variables reales, no operandos.
Declarar una variable int, y luego apunte a él:
int main() {
int x = 123;
func(&x);
}
Si desea declarar un punteroen la pila, a continuación, declarar una variable int-puntero:
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;
}
El problema es que está intentando tomar la dirección de un valor r. Haga que sea un valor l:
n = 123;
func(&n);
- 1. Base puntero y pila puntero
- 2. Cómo obtener la dirección del puntero de la pila base
- 3. ¿Cómo crear un puntero a miembro mutable?
- 4. ¿Por qué tener un puntero a un puntero (int ** a)?
- 5. ¿Cómo crear un puntero en C++ que apunta a una matriz multidimensional de int?
- 6. Crear un puntero a la función que toma un puntero a la función como argumento
- 7. Cómo convertir int a const int para asignar el tamaño de la matriz en la pila?
- 8. C++: La inicialización del puntero a puntero a int
- 9. "este" puntero se corrompe en el seguimiento de la pila
- 10. ¿Declarar const puntero a int?
- 11. Creación de objetos en la pila/pila?
- 12. ¿Cómo crear una estructura en la pila en C?
- 13. Cómo usar "puntero a la matriz 10 de int"?
- 14. puntero a un puntero
- 15. ¿Cómo declaras un puntero a una función que devuelve un puntero a una matriz de valores int en C/C++?
- 16. Almacenar la dirección de un puntero en un int sin signo en C
- 17. Pasando un puntero a putchar a una función que recibe un int (*) (int)
- 18. Puntero inteligente sopla pila debido a la eliminación recursiva
- 19. Crear una guía desde un int
- 20. Crear objeto fstream desde un archivo * puntero
- 21. devuelve un int o pasa un puntero int - ¿Qué es mejor?
- 22. Si tengo un puntero de vacío, ¿cómo puse un int en él?
- 23. Cómo convertir int * a int
- 24. XQuery: ¿crear un nuevo elemento con un nombre de pila?
- 25. GCC - Cómo realinear la pila?
- 26. ¿Cómo copio una pila en Java?
- 27. Modificar dirección de devolución en la pila
- 28. Crear múltiples variables numeradas basadas en int
- 29. puntero constante frente a un puntero en un valor constante
- 30. ¿Cómo obtener un nuevo puntero en Java?
'int (123)' aún no asigna memoria de la que puede tomar la dirección. Es un literal, typecasted a 'int'. –