Errors on my shader

Why thyis don’t work i can’t understand.

Name "RimCullOff"
            Cull Off
            CGPROGRAM
                #pragma vertex vert;
                #pragma fragment frag;
              
                #include "UnityCG.cginc"

                sampler2D _MainTex;
                float4 _MainTex_ST;

                struct vertexOutput {
                    float4 pos : SV_POSITION;
                    float4 texcoord : TEXCOORD0;
                };

                vertexOutput vert (appdata_base  i) {
                    vertexOutput o;
                    o.pos = mul(UNITY_MATRIX_MVP, i.vertex);
// the down line is where i have the problem with _MainTex on TRANSFORM_TEX
                    o.texcoord = TRANSFORM_TEX (i.texcoord, _MainTex);
                    return o;
                }

                fixed4 frag (vertexOutput i) {
                    fixed4 texCol = tex2D (_MainTex, i.texcoord);
                    return texCol * _Color;
                }

            ENDCG

This say: cannot implicitly convert from ‘const float2’ to ‘float4’ at line 82 (on d3d11)
WTF!!!

float2 texcoord : TEXCOORD0;