how multiply between Quaternion and Vector3 in C# language

using UnityEngine;
using System.Collections;

public class RotateCamera : MonoBehaviour
{
public Transform target;
public float edgeBorder = 0.1f;
public float horizontalSpeed = 360.0f;
public float verticalSpeed = 120.0f;
public float minVertical = 20.0f;
public float maxVertical = 85.0f;
public float xSpeed = 25.0f;
public float ySpeed = 12.0f;

private float x = 0.0f;
private float y = 0.0f;
private float distance = 0.0f;
private Quaternion rotation;
private Vector3 position;
// Use this for initialization
void Start ()
{
x = transform.eulerAngles.y;
y = transform.eulerAngles.x;
distance = (transform.position - target.position).magnitude;
}

// Update is called once per frame
void LateUpdate()
{
float dt = Time.deltaTime;
x -= Input.GetAxis(“Horizontal”) * horizontalSpeed * dt;
y += Input.GetAxis(“Vertical”) * verticalSpeed * dt;

y = ClampAngle(y, minVertical, maxVertical);

// If either mouse buttons are down, let them govern camera position
if (Input.GetMouseButton(0))
{
x += (Input.GetAxis(“Mouse X”) * xSpeed * 0.2f);
y -= Input.GetAxis(“Mouse Y”) * ySpeed * 0.2f;

}
if (Input.GetMouseButton(1))
{
distance -= Input.GetAxis(“Mouse Y”) * Time.deltaTime * Mathf.Abs(distance);
}

rotation = Quaternion.Euler(y, x, 0.0f);
position = rotation *Vector3(0.0f, 0.0f, -distance) + target.position;
transform.rotation = rotation;
transform.position = position;
}

static float ClampAngle (float angle,float min , float max )
{
if (angle < -360.0f)
angle += 360.0f;
if (angle > 360.0f)
angle -= 360.0f;
return Mathf.Clamp (angle, min, max);
}
}

the red area have problem ,thank you

Add the keyword “new” before “Vector3”.