Suddenly can't read the kernel function... Don't think I've changed anything yet now my

So this little piece of code worked fine and by the time I’d got rid of some errors in the cpp file I got the following error in the .cu file:

"Error 1 error C2059: syntax error : ‘<’ "

and a corresponding one for the line with kernel2 called in it

It has the same build configuration as before, in which it has compiled successfully, so am I missing something obvious here?

#include "GlobalStructs.h"

#include <string>

#include <iostream>

extern __global__ void kernel(element* particle, element* particle2, transport_map1* p_R, int mag_elements);

extern __global__ void kernel2(element* particle, element* particle2, transport_map2* p_T, int mag_elements);

void call_kernel(int num_threads, int num_blocks, element* particle, element* particle2, transport_map1* p_R, int mag_elements)

{

	dim3  grid( num_blocks, 1, 1); //The number of blocks per grid

	dim3  threads(num_threads, 1, 1); //The number of threads per block

	kernel<<<grid,threads>>>(particle,

							 particle2,

							 p_R,

							 mag_elements);

}

void call_kernel(int num_threads, int num_blocks, element* particle, element* particle2, transport_map2* p_T, int mag_elements)

{

	dim3  grid( num_blocks, 1, 1); //The number of blocks per grid

	dim3  threads(num_threads, 1, 1); //The number of threads per block

	kernel2<<<grid,threads>>>(particle,

							  particle2,

							  p_T,

							  mag_elements);

}