用extern引用一个结构变量,为什么不能给它重新赋值???有没有大神帮忙看一下
initsetting.h文件
#ifndef INTISETTING_H_
#define INTISETTING_H_
#include<iostream>
#include<string>
struct Position
{
double E;
double N;
double U;
};
struct init
{
int num;
std::string filename;
Position truePosition;
};
//extern init settings;
//extern void disp(const init & settings);
#endif
.cpp文件
#include"intisetting.h"
init settings = {500, "GPS_SDR.bin", {123.3, 456.6, 789.9}};
void disp(const init & settings)
{
std::cout<<settings.num<<" "
<<settings.filename<<" "
<<settings.truePosition.E<<" "
<<settings.truePosition.N<<" "
<<settings.truePosition.U<<" \n";
}
.main文件
#include<iostream>
#include<string>
#include"intisetting.h"
using namespace std;
//extern init settings;
//extern void disp(const init & settings);
int main()
{
disp(settings);
//settings = {12, "SanGuo.txt", {132.4, 465.7, 798.2}}; //?????
settings.num = 12;
settings.filename = "SanGuo.txt";
settings.truePosition.E = 132.4;
settings.truePosition.N = 465.7;
settings.truePosition.U = 798.2;
disp(settings);
return 0;
}
问题://settings = {12, "SanGuo.txt", {132.4, 465.7, 798.2}}; //????? 重新给setting赋值会出现错误:expected an expression