مساعدة مع إعلان C ++ هيكل، مع مجموعة وتعويم واحدا من أعضائها
-
06-07-2019 - |
سؤال
وأنا أتساءل عما اذا كان أي شخص يمكن أن بقعة ما هو الخطأ في بلدي إعلان هيكل واستخدامها. في هذه اللحظة لدي هيكل وأتمنى لتخزين تعويم مجموعة واحدة من أعضاء انها.
قانون بلدي:
struct Player{
float x[12];
float y[12];
float red,green,blue;
float r_leg, l_leg;
int poly[3];
bool up,down;
};
وبعد ذلك حاول ملء البنية:
float xcords[12] = {1,1,1,1,1,1,1,1,1,1,1,1 };
float ycords[12] = {1,1,1,1,1,1,1,1,1,1,1,1 };
Player player = {xcords,ycords,1,1,1,2,2,true,true};
خطأ:
1>.\template_with_console.cpp(35) : error C2440: 'initializing' : cannot convert from 'float [12]' to 'float'
1> There is no context in which this conversion is possible
1>.\template_with_console.cpp(35) : error C2440: 'initializing' : cannot convert from 'float [12]' to 'float'
1> There is no context in which this conversion is possible
المحلول
وصالحة تسوس إلى مؤشر إلى العنصر الأول من الصفيف في معظم السياقات كما هو الحال مع xcords
وycords
. لا يمكنك تهيئة البنية من هذا القبيل. لذلك، لديك لتهيئة أعضاء صراحة:
Player player = {
{1,1,1,1,1,1,1,1,1,1,1,1 }, // xcords
{1,1,1,1,1,1,1,1,1,1,1,1 }, // ycords
1,1,1, // red, green, blue
2,2, // right, left
{0,1,2}, // poly[3] -- missing?
true,true}; // up, down
المهيآت وكنت في عداد المفقودين أيضا عن بولي [3] إذا فهمت بشكل صحيح. ضع في القيم المناسبة. وإلا لن يكون هناك التهيئة الافتراضية - هو أن ما تريد
نصائح أخرى
وحاول
Player player = {{1,1,1,1,1,1,1,1,1,1,1,1 },
{1,1,1,1,1,1,1,1,1,1,1,1 },
1,1,1,
2,2,
{},
true,true};
وأعتقد أنك كنت تتوقع التهيئة لنسخ العناصر من كل مجموعة إلى الهيكل الخاص. محاولة تهيئة عناصر الصفيف في بنية بشكل فردي، ويقول مع حلقة for
.
وليس هناك "منشئ" لمجموعة تعويم التي من شأنها أن نسخ عناصر من مجموعة أخرى.
لا تنتمي إلى StackOverflow