Je rtrying de traduire ce qui suit de l'exemple suivant SplitContainer Splitter Gets Focus Rectangle?Traduire un exemple de code de C# en C++
private: Control getFocused(Control::ControlCollection controls)
{
//foreach (Control c in controls)
//{
// if (c.Focused)
// {
// // Return the focused control
// return c;
// }
// else if (c.ContainsFocus)
// {
// // If the focus is contained inside a control's children
// // return the child
// return getFocused(c.Controls);
// }
//}
do
{
if (c.Focused)
{
// Return the focused control
return c;
}
else if (c.ContainsFocus)
{
// If the focus is contained inside a control's children
// return the child
return getFocused(c.Controls);
}
}
while(Control c in controls);
// No control on the form has focus
return null;
}
je cherche le droit synthanx pour la boucle Do While
while(Control c in controls); // error
et puisque la fonction 'private: Control getFocused(Control::ControlCollection controls)
' est du type Contrôle, j'ai besoin de spécifier une valeur de retour, à la fois 'return null;
' et 'return nullptr;
' échouent!
EDIT:
for(int index = 0; index <= controls.Count; index++)
{
if(controls[index]->Focused)
{
return controls[index];
}
else if (controls[index]->ContainsFocus)
{
return getFocused(controls[index]->Controls);
}
}
return controls[index];
->pas de conversion définie par l'utilisateur approprié de "System :: :: de Windows Forms :: contrôle ^" à "System :: :: de Windows Forms :: Control" existe.
return getFocused(controls[index]->Controls);
->fonction "GetFocused" ne peut pas être appelé avec les types d'arguments de la liste des arguments donnés sont: (System :: de Windows :: Forms :: Contrôle :: ControlCollection ^)
return null;
->identifier "null" est définie
ou
return nullptr;
->pas de conversion défini par l'utilisateur adapté de "decltype (nullptr)" à « Sy stem :: Windows :: Forms :: Control "existe
avez-vous déjà utilisé google pour rechercher un code ou une syntaxe? Je viens de googled faire --- alors qu'en C++ et trouvé MSDN référence http://msdn.microsoft.com/en-us/library/b0kk5few(v=vs.80).aspx – TalentTuner
ouais, je l'ai fait ... mais. .. c'est surtout le tutoriel par défaut avec les opérateurs standart – NaturalDemon
Vous n'avez pas la syntaxe 'foreach (.. in ..)' en C++. Vous devez utiliser une boucle 'for' normale en utilisant des index pour accéder aux éléments. –