error CS0305: Using the generic type `System.Collections.Generic.List' requires `1' type argument(s)

i get the error

error CS0305: Using the generic type System.Collections.Generic.List<T>' requires 1’ type argument(s)

here’s my script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Collections.Generic.List;

public class friendlyTurretAI : MonoBehaviour {

public enum AIstates { NEAREST, FURTHERST, WEAKEST, STRONGEST };

public AIstates aiState = AIstates.NEAREST;

FrindlyTrackingSystem m_tracker;
friendlyShoot m_shooter;
friendlyRotate m_range;

// Use this for initialization
void Start () {

    m_tracker = GetComponent<FrindlyTrackingSystem>();
    m_shooter = GetComponent<friendlyShoot>();
    m_range = GetComponent<friendlyRotate>();

}

// Update is called once per frame
void Update () {

    if (!m_tracker || !m_shooter || !m_range)
        return;

    switch (aiState)
    {
        case AIstates.NEAREST:
            TargetNearest;
            break;
        case AIstates.FURTHERST:
            TargetFurthest;
            break;
        case AIstates.STRONGEST:

            break;
        case AIstates.WEAKEST:

            break;
    }
}

void TargetNearest()
{
    List<GameObject> validTargets = m_range.GetValidTargets();

    GameObject curTarget = null;
    float closestDist = 0.0f;

    for(int i = 0; i < validTargets.count; i++)
    {
        float dist = Vector3.Distance(transform.position, validTargets*.transform.position);*

if(!curTarget || dist < closestDist)
{
curTarget = validTargets*;*
closestDist = dist;
}
m_tracker.SetTarget(curTarget);
m_shooter.SetTarget(curTarget);
}
}
void TargetFurthest()
{
List validTargets = m_range.GetValidTargets();
GameObject curTarget = null;
float furthestDist = 0.0f;
for (int i = 0; i < validTargets.count; i++)
{
float dist = Vector3.Distance(transform.position, validTargets*.transform.position);*
if (!curTarget || dist < furthestDist)
{
curTarget = validTargets*;*
furthestDist = dist;
}
m_tracker.SetTarget(curTarget);
m_shooter.SetTarget(curTarget);
}
}
}
what have I done wrong?

I would suggest you show us your function GetValidTargets()

i did this but I still get the error

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class friendlyRotate : MonoBehaviour {

List<GameObject> m_targets = new List<GameObject>();
List<GameObject>

OnTriggerEnter(Collider other)
{
    bool invalid = true;
    for(int i = 0; i < tags.Count; i++)
    {
        if (other.CompareTag(tags*))*

{
invalid = false;
break;
}
}
if (invalid)
return;
m_targets.Add(other.gameObject);
}
void OnTriggerExit(Collider other)
{
for(int i = 0; i < tags.Count; i++)
{
if(other.gameObject == m_targets*)
_
{_
m_targets.Remove(other.gameObject);
return;
_
}_
_
}_
_
}_
List GetValidTargets()
_
{_
for (int i = 0; i < m_targets.Count; i++)
_
{_
if (m_targets == null)
_{
m_targets.RemoveAt(i);
i–;
}
return m_targets;
}*_

return m_targets;
}
public bool InRange(GameObject Go)
{
for(int i = 0; i < m_targets.Count; i++)
{
if (Go == m_targets*)
return true;
_}
return false;
}
}*_