Error CS0266 with my clicker game

I have this issue with this one script and get the UpgradeManager.cs(19,31): error CS0266: Cannot implicitly convert type float to int. An explicit conversion exists (are you missing a cast?) I can’t see where I’m trying to convert these two types and I’m not trying to. But any help would be appreciated as I looked around and all the errors that people have is based on animation or transforming things etc not this.
EDIT: using Unity 5.0.0f4

using UnityEngine;
using System.Collections;

public class UpgradeManager : MonoBehaviour {
	public Click click;
	public UnityEngine.UI.Text itemInfo;
	public float cost;
	public int count = 0;
	public int clickPower;
	public string itemName;
	private float _newCost;

	void Update(){
		itemInfo.text = itemName = "

Cost: " + cost + "
Power: +" + clickPower;
}

	public void PurchasedUpgrade(){
		if (click.gold >= cost) {
			click.gold -= cost;
			count += 1;
			click.goldperclick += clickPower;
			cost = Mathf.Round (cost * 1.15f);
			_newCost = Mathf.Pow (cost, _newCost = cost);
		}
	}
}

A quick search on this site revealed some hits including this one:

You did not attach the Click script, but I guess click.gold is an int? So you should change your line to:

click.gold -= (int)cost;

In addition I don’t think it makes much sense to have the amount of gold as an int and the cost as a float. They should probably be both int (or float).