trying to make a cube spawn on player mouse position?

{
public Vector3 mousep;

void Start()
{
    
}

void Update()
{
    mousep = Input.mousePosition;
    Debug.Log(mousep);

    if (Input.GetMouseButtonDown(1))
    {
        GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        cube.transform.position = new Vector3();
    }
}

}

however I cant use the variable in the new Vector3 so what do I do?

public Camera camera; RaycastHit hit; Ray ray = gameCamera.ScreenPointToRay(Input.mousePosition); if(Physics.Raycast(ray,out hit)) { Instantiate... }

Instantiate function: