creating a Vector2 using transform.position not working - c#

What’s wrong with this code:

public Vector2 newPos = new Vector2 (transform.position - 45,0);
public Vector2 negativeNewPos = new Vector2 (transform.position + 45,0);

Assets/scripts/EnemyScript.cs(12,72): error CS1502: The best overloaded method match for `UnityEngine.Vector2.Vector2(float, float)’ has some invalid arguments

is there something wrong with transform.position

Transform.position is Vector2. Maybe this is what you were trying to obtain:

public Vector2 newPos = new Vector2(transform.position.x - 45, 0);
public Vector2 negativeNewPost = new Vector2(transform.position.x + 45, 0);