Он путает инициализатор с присваиванием.
Как только объект создан (строка "struct type foo;"), вы должны ввести strcpy в "name").
structвведите foo;foo.name = "bar";// ошибка здесь << = Компилятор может только назначить указатель в этой точке, что недопустимо. </p>
==============
Не пишите этот дерьмовый код:
strcpy_s (foo.name, 15, "bar");
Следующее позволяет вам изменять длину в одном месте:
strcpy_s (foo.name, sizeof (foo.name), "bar");