operator ^ cannot be applied to operands of type vector 2 and float

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {

    public float speed = 50f;
    public float jumpPower = 150f;

    public bool grounded;

    private Rigidbody2D rb2d;

    void Start ()
    {
        rb2d = gameObject.GetComponent<Rigidbody2D>();
	}
	

	void Update ()
    {
	
	}

    void FixedUpdate()
    {

        float h = Input.GetAxis("Horizontal");

        rb2d.AddForce((Vector2.right ^ speed) ^ h);             <----- here is something wrong
    
    }


}

If you simply mean to multiply the values, you’re using the wrong symbol for that.

rb2d.AddForce((Vector2.right * speed) * h);

The symbol you were using “^” is for much more complicated bit comparison, and not multiplication.