Lost_brain, проблема никак не связана с аргументом. Проблема в том, что вы не понимаете, что такое статический метод. И вообще, как в C++ работать с классами.
Вы можете исправить ошибку и по-другому: оставьте метод не статическим, но вызывайте его у какого-то объекта FileModifier (заведите переменную и вызывайте метод у нее через точку). А не как сейчас - как будто это функция.
San Manjiro, ну "обмен" же. Что-то с чем-то меняется. Что в сортировке то происходит? Элементы меняются местами! Обменная операция - это операция перестановки двух элементов местами. Это не операция присваивания =. Это то, что делает функция swap. Поэтому вам надо увеличивать счетчик на 1 в этой функции и больше нигде него не трогать.
Galaxy773, у рандомно сгенерированного ключа может не быть приватной пары. Он сам может быть вообще невалиден. Например, в RSA приватный ключ - 2 больших простых числа. Случайная строка почти 100% не будет валидным приватным ключем.
Никита Савченко, вообще кривое условие. Глагола "power by" в английском языке нету. Тут уже только гадать можно, что именно хотел автор. Можно "raise to the power 2", "take 2nd power", но не вот это вот.
Че?! Скопируйте, что вам сказал компилятор. Не одно предложение, а всю ошибку - со строчкой в которой возникла ошибка, с цитатой вашего кода, с номером ошибки и всеми дополнительными данными от компилятора.
Вы там что-то про класс откопали где-то, вот компилятор хотя бы имя класса написал же?!
Вы можете исправить ошибку и по-другому: оставьте метод не статическим, но вызывайте его у какого-то объекта FileModifier (заведите переменную и вызывайте метод у нее через точку). А не как сейчас - как будто это функция.