Вы довольно близки, но, вероятно, под вашим влиянием немного больше, чем в идеале. То, что вы, вероятно, хотите, больше похоже на:
#include<iostream>
using namespace std; // Bad idea, but I'll leave it for now.
int main()
{
int k,sum = 0; // sum needs to be initialized.
while (cin >> k)
{
sum += k; // `sum = sum + k;`, is legal but quite foreign to C or C++.
}
cout << sum<<endl;
}
Кроме того, C ++ может обрабатывать файл примерно как последовательный контейнер и работать с ним примерно так же, как с любым другим контейнером:
int main() {
int sum = std::accumulate(std::istream_iterator<int>(std::cin),
std::istream_iterator<int>(),
0); // starting value
std::cout << sum << "\n";
return 0;
}