小编Kev*_*tsu的帖子

std :: find返回一个我无法访问函数的类

我来自C/C#语言,现在我正在努力学习C++及其标准函数.

现在,我正在创建一个名为的类IMonsterDead.我将有一个std::vector<IMonsterDead*>与N怪物.

例:

class IMonsterDead {
public:
    IMonsterDead(int Id)
    {
        this->_Id = Id;
    }

    virtual void OnDead() = 0;

    int Id() const {
        return _Id;
    }
private:
    int _Id;
};
Run Code Online (Sandbox Code Playgroud)

一个实现该类的类:

class MonsterTest : public IMonsterDead {
public:
    MonsterTest(int generId)
        : IMonsterDead(generId)
    {
    }

    virtual void OnDead()
    {
        std::cout << "MonsterTesd died" << std::endl;
    }
};
Run Code Online (Sandbox Code Playgroud)

好吧,如果我直接访问一切正常.但我正在尝试使用std::find.

完整的程序测试:

int main()
{
    std::vector<IMonsterDead*> monsters;
    for (int i = 0; i < 1000; i++) …
Run Code Online (Sandbox Code Playgroud)

c++ vector

3
推荐指数
1
解决办法
110
查看次数

IValueConverter参数检查

我使用 IValueConverter 设置一个复选框。\n但是我有三个复选框,并且我像 RadioButton 一样使用。选择其中一项后,需要取消选中其他项。

\n\n

所以我做了类似的事情>

\n\n
<MenuItem StaysOpenOnClick="True" \n          Header="Reiniciar \xc3\xa1udio"\n          IsCheckable="True"\n          Name="RestartAudioCheck" \n          IsChecked="{Binding PlayType, \n          Mode=TwoWay,\n          Converter={StaticResource PlayTypeCheckedConverter},\n          ConverterParameter=restart}">\n</MenuItem>\n<MenuItem StaysOpenOnClick="True" \n          Header="Parar \xc3\xa1udio"\n          IsCheckable="True"\n          Name="StopAudioCheck"\n          IsChecked="{Binding PlayType, \n            Mode=TwoWay,\n          Converter={StaticResource PlayTypeCheckedConverter},\n          ConverterParameter=stop}">\n</MenuItem>\n<MenuItem StaysOpenOnClick="True" \n          Header="Pausar \xc3\xa1udio"\n          IsCheckable="True"\n          Name="PauseAudioCheck"\n          IsChecked="{Binding PlayType, \n            Mode=TwoWay,\n          Converter={StaticResource PlayTypeCheckedConverter},\n          ConverterParameter=pause}">\n</MenuItem>\n
Run Code Online (Sandbox Code Playgroud)\n\n

和转换器:

\n\n
class PlayTypeCheckedConverter : IValueConverter\n{\n    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\n    {\n        if (!(value is PlayType type))\n            return false;\n\n        if (!(parameter is string check))\n            return …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm

1
推荐指数
1
解决办法
1200
查看次数

C#使用单个for循环填充2D数组矩阵

我正在搞乱2D阵列.我想用计数填充2D数组.我已经设法使用2个嵌套for循环.(这可能是最简单的做法吗?)

//create count
int count = 1;

for (int row = 0; row < matrix.GetLength(0); row++)
{
    for (int col = 0; col < matrix.GetLength(0); col++)
    {
        matrix[row, col] = count++;
    }
}
Run Code Online (Sandbox Code Playgroud)

我只是很好奇,是否也可以仅使用一个for循环来填充这个2D数组?

我想过制作一个计算行数的循环.当行到达数组的末尾时,列将增加1.这可能通过使用一些if,if else和else语句来完成吗?

这里有人知道如何使这项工作?

c# arrays for-loop count

1
推荐指数
1
解决办法
863
查看次数

如何在泛型函数中使用if/else?C#

首先,我想说的是关于编码的新手,所以如果代码看起来很糟糕,不要杀了我.

好吧,问题是我试图制作一个通用函数,其目的是获取两个已排序的数组并将它们合并为一个新的排序数组.我面临的问题是尝试在函数中使用if,并且它不允许我使用<操作数.

public object[] mergeTwoSorted<Tone, Ttwo>(Tone[] array, Ttwo[] array2)
{
    object[] mergedArray = new object[array.Length + array2.Length];
    for (int i = 0; i < mergedArray.Length; i++)
    {
        if (array is ValueType && array2 is ValueType)
        {
            if (array[i] > array2[i])

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有关如何解决这个问题的任何想法?

c#

-2
推荐指数
1
解决办法
294
查看次数

标签 统计

c# ×3

arrays ×1

c++ ×1

count ×1

for-loop ×1

mvvm ×1

vector ×1

wpf ×1