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
uj5u.com熱心網友回復:
init settings = {500, "GPS_SDR.bin", {123.3, 456.6, 789.9}};結構體變數的初始化語法,一般賦值恐怕不行。
uj5u.com熱心網友回復:
一個一個來吧~~~uj5u.com熱心網友回復:
對的,這個語法,只是在你宣告這個變數的時候才能這么用,宣告過了以后,你只能用普通方法來訪問:
settings.num=12;
settings.filename="SanGuo.txt"
......
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/52023.html
上一篇:晃動UDF撰寫?
