Visual Studio 2015报“应输入声明错误”

前面定义变量等的时候啥问题都没有就到这个while循环就有错误了

// 图书管理.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

struct Day //定义日期结构体
{
    int year;
    int moth;
    int day;
};

struct TheBook //定义TheBook结构体
{
    char BookName[10];   //书名
    char WriterName[10]; //作者名
    char PressName[10]; //出版社
    Day Date; //日期
};
TheBook Books[100];//Books数组
int i2 = 1;
while (i2 <= 100)
{
    Books[i2] = { BookName[10] = { -,-,-,-,-,-,-,-,-,-},WriterName[10] = { -,-,-,-,-,-,-,-,-,-},PressName[10] = { -,-,-,-,-,-,-,-,-,-},day[3] = { 0,0,0 } };
    ++i2;
}

请问哪里有错误请指出(表示第一次写C++)

你的代码里没有主函数,具体的代码逻辑用该写在函数中

楼上正解 ,源文件中可以有声明和定义,其它语句应该实现为函数

Books[i2] = { BookName[10] = { -,-,-,-,-,-,-,-,-,-},WriterName[10] = { -,-,-,-,-,-,-,-,-,-},PressName[10] = { -,-,-,-,-,-,-,-,-,-},day[3] = { 0,0,0 } };
这个不能这么写

修改后的程序

 #include <iostream>
#include <string>
using namespace std;

struct Day //定义日期结构体
{
    int year;
    int month;
    int day;
};

struct TheBook //定义TheBook结构体
{
    char BookName[10];   //书名
    char WriterName[10]; //作者名
    char PressName[10]; //出版社
    Day Date; //日期
};
int main()
{
TheBook Books[100];//Books数组
int i2 = 1;
while (i2 <= 100)
{
strcpy(Books[i2].BookName, "---------");
strcpy(Books[i2].WriterName, "---------");
strcpy(Books[i2].PressName, "---------");
Books[i2].Date.year = 0;
Books[i2].Date.month = 0;
Books[i2].Date.day = 0;
++i2;
}
}